刚刚在看多态,突然想到这么一种状况,有点钻牛角,开发可能遇不到,但还是拿出来晒晒
一个父类里定义了个私有的方法,子类里有个和这个私有同名的public 方法,像下面的代码
class A {
private void function(){
System.out.println("AAAAAAAA");
}
public static void operator( A a){
a.function();
}
public static void main(String[] args){
A.operator( new A()); //输出是AAAAAAAA
A.operator( new B());//编译通过了,输出是AAAAAAAA,我只能理解为这是特殊情况吧。
}
}
class B extends A {
public void function(){
System.out.println("BBBBBB");
}
}
|