this: 最终子类的地址
super:每一层的父类
所以不管每一层的this都是指向最下层子类,如果找不到方法就去上找,直到找到方法
public class Test {
 
    public static void main(String[] args) {
        Animal a = new Dog();
         a.shout();
    }
}
public class Animal {
     public void shout() {
          System.out.println("shout……!");
          eat();
     }
 
     public void eat() {
          System.out.println("eat……!");
     }
}
public class Dog extends Animal {
     public void eat() {
          System.out.println("狗粮真香啊……!");
     }
}
  运行这个理解程序就会有所理解

京公网安备 11010502036488号