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();
        }
}

 

 《Java继承 子类的内存模型》

 

 

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

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

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

 

    原文作者:我是高成辉
    原文地址: http://www.cnblogs.com/gaochenghui/p/5145939.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞