我有两个问题在此代码混淆“重写一个私有方法”
public class Override {
private void f() {
System.out.println("private f()");
}
public static void main(String[] args) {
Override po = new Derived();
po.f();
}
}
class Derived extends Override {
public void f() {
System.out.println("public f()");
}
}
/*
* Output: private f()
*/// :~
1)如何是函数f是对覆盖PO的参考可见;
2)为什么是输出的 “私人f()的”
但是如何与子类的一个对象可以调用一个超类的一个私有方法的参考???这是一个错误? – 2009-08-28 13:56:10
不,这不是一个错误,这完全是因为它应该工作。 – Jesper 2009-08-29 05:56:37
但不违反这个继承的规则和后期绑定 – 2009-08-29 08:00:56