Java多态性,从内存的角度分析

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("狗粮真香啊……!");
 }
}

运行这个理解程序就会有所理解

猜你喜欢

转载自blog.csdn.net/qq_40990854/article/details/81046556