最近在看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