public class OverWrite1 {
public static void main(String[] args){
new Son().fun();
}
}
class Father{
public void fun(){
this.print();
}
public void print(){
System.out.println("Father");
}
}
class Son extends Father{
public void print(){
System.out.println("Son");
}
}
public class OverWrite2 {
public static void main(String[] args){
new Son().fun();
}
}
class Father{
public void fun(){
this.print();
}
private void print(){
System.out.println("Father");
}
}
class Son extends Father{
public void print(){
System.out.println("Son");
}
}
如何理解第一个代码用父类中的this.print调出了子类的print,此时调用的是重写后的方法,但当把父类中的print定义为private后,调用的不是子类中的新方法而是父类的私有方法呢?求大佬教教我
出自https://blog.csdn.net/jump_tigris/article/details/97929952