Java继承 子类的内存模型


Java继承 子类的内存模型

package subClass;
class ParentClass {
    public void fun(){
        System.out.println("ParentClass--->fun()");
    }
}

class SubClass  extends ParentClass{
    int i=100;
    String name=new String("SubClass");
    public void fun(){
        super.fun();
        System.out.println(name+"--->"+i);
    }
}

public class TestExtends {
    public static void main(String args[]){
            SubClass sub=new SubClass();
            sub.fun();
        }
}

1.super 是父类引用,当jvm加载subClass 时,将父类的引用(super)加载到子类的栈内存中。

2.this是子类的引用,当jvm加载subClass 时,将当前对象的引用(this)存放于自己的栈内存中。

3.具体调用,先查找当前子类的实现,如果没有,就查找父类是否有实现。

本文永久更新链接地址

相关内容