public class Test {
public static void main(String args[]){
Test t = new Test();
t.inner();
}
public final void print() {
System.out.print("main");
}
public void inner() {
class TestInner {
void print(){
System.out.print("sub");
}
}
TestInner inner =new TestInner();
inner.print();
print();
}
}
输出:子主
问题:Test 类中的 print() 方法是最终方法,本地类可以访问,但本地类仍然可以再次定义 print() 方法怎么办?
如果我们在超类中声明 private final x(),它在子类中是不可访问的,所以我们可以在子类中定义 x()。
如果我们在超类中声明 public final x(),它可以在子类中访问,所以我们不能在子类中定义 x()。
谁能解释一下?