您的位置:首页 > 编程语言 > PHP开发

多态的缺陷:“覆盖私有方法”

2011-10-11 15:27 162 查看
程序如下:

package polymorphism;

import static net.mindview.util.print.*;

public class PrivateOverride{

private void f() {print("private f()");}

public static void main(String [] args){

PrivateOverride po=new Derived();

po.f();

}

}

class Derived extends PrivateOverride{

public void f(){print("public f()");}

}

/*  Output:

private f()

*/

我们所期望的输出是public f (),但是由于private方法被自动认为是final方法,而且对导出类是屏蔽的。因此,在这种情况下,Derived类中的f()方法就是一个全新的方法;既然基类中的f方法在子类中不可见,因此也不能被重载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class output string