class Parent
{
 void method1()
        //private void method1()//在这个地方把该方法变为private会导致结果变化
         {
System.out.println("Parent's method1()");
} public void method2(){
System.out.println("Parent's method2()");
this.method1();
}
}class Child extends Parent{
 void method1(){
System.out.println("Child's mehtod1()");
} public static void main(String args[])
{
Parent p=new Child();
p.method2();
}
}在父类的method1方法默认为包属性时,结果为
Parent's method2()
Child's mehtod1()
我们可以解释这是因为多态
但是当我把父类的method1方法变为私有权限时,结果变为
Parent's method2()
Parent's method1()
请问怎么解释?
另外,我把这个程序用C++也写了一遍,但是无论父类的这个虚函数method1为private或者public都是同一个结果,也就是第一种
Parent's method2()
Child's mehtod1()请高手指点迷津,不甚感谢