【发布时间】:2010-11-23 16:34:29
【问题描述】:
我对此代码有两个问题
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 如何在 Override po 的引用上可见;
2) 为什么输出“private f()”
【问题讨论】:
-
但是子类对象的引用如何调用超类的私有方法???这是一个错误???
-
不,这不是错误,这正是它应该工作的。
-
但这不是违反继承和后期绑定的规则
标签: java overriding private