继承中子父类成员函数中的内存图解
源代码:
class Fu//父类
{
void show1()
{
System.out.println("Fushow running");
}
}
class Zi extends Fu //子类
{
void show2()
{
System.out.println("Zishow running");
}
}
class ExtendsDemo3
{
public static voidmain(String[]args)
{
Ziz=new Zi();
z.show1();
z.show2();
}
}
1,首先,main进栈,栈内存中变量z出现。方法区中父类Fu类和子类Zi开始加载。
首先加载父类,再加载子类。如图1,父类子类已加载完成。
2,加载完以后开始创建对象(如图2)。
3,接着执行z.show1(),z.show2(),先在本类中找show1(),如果没有的话子类通过super在父类里找。