子父类中 子类实例化过程图解

来源:互联网 发布:mac查找文件路径 编辑:程序博客网 时间:2024/06/05 00:14
class Fu{
Fu(){
super();
show();
return;
}


void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
int num = 8;
Zi(){
super();
System.out.println("zi cons run...."+num);
return;
}
void show(){//会覆盖父类中的show方法
System.out.println("zi show..."+num);
}
}
class ExtendsDemo5 {
public static void main(String[] args) {
Zi z = new Zi();
z.show();
}

}

一个对象的实例化过程:

eg:Person p = new Person();

1.JVM会读取指定路径下的Person.class文件,并加载到方法区,(注意:若有直接父类要先加载直接的父类)

2.在堆内存中开辟空间,并对对象的属性进行默认初始化

3.调用相应的空参构造函数,进行初始化(注意:在调用构造函数时,构造函数的第一行会有隐式的 super()语句,这时就要调用父类的空参构造函数进行初始化。)

4.在父类构造函数初始化完毕后,这时子类的属性开始显示初始化。


0 0
原创粉丝点击