class Parent
{
private void method1()
{
System.out.println("Parent's method1()");
}
public void method2()
{
System.out.println("Parent's method2()");
method1();
}
}
class Child extends Parent
{
public void method1()
{
System.out.println("Child's method1()");
}
}
class test {
public static void main(String args[])
{
Parent p = new Child();
p.method2();
}
}
我很困惑为什么在调用method1()时会在Parent :: method2()中调用父类method1()而不是Childs method1?我发现只有当method1()是私有的时候才会发生这种情况。有人可以解释我为什么吗?
谢谢你。在Java中混淆调用方法
为他的示例,可能以及在列表中添加“friendly”。 – kevpie 2011-03-14 00:24:44
@kevpie友好吗? – 2011-03-14 00:25:25
我想他是朋友:)感谢探索马克艾略特 – Kobe 2011-03-14 00:28:22