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.具体调用,先查找当前子类的实现,如果没有,就查找父类是否有实现。

 

posted @ 2016-01-20 17:30  我是高成辉  阅读(469)  评论(0编辑  收藏  举报