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

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.在父类构造函数初始化完毕后,这时子类的属性开始显示初始化。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值