java类对于public的一个误区

最近在看spring的源码,发现了一些以前理解深度不足的问题,在线面贴两段代码

 public class Animal {
public void say(){
toSay();
}
public void toSay(){
System.out.println("animalSay");
}
}


public class Person extends Animal {
public void toSay(){
System.out.println("personSay");
}
}



public class TestPublic {
public static void main(String[] args) {
Person p=new Person();
p.say();
}
}



上述运行的结果是什么呢?以前一直认为在控制台打印的是animalSay,真正运行后发现是personSay



猜你喜欢

转载自blog.csdn.net/qustmomo/article/details/52927898