Java继承三:子类对象加载的执行过程 (父类→子类→父类对象→子类对象)

(额外注:(与下面的历程“无关”):

(1)当在子类中使用super关键字后,会在堆中新建一个父类对象;

(2)假若父类A中有public void m(){}这个方法,B类继承A类。

          实例化A类对象a,那么在堆中会开辟一个空间存储a对象,m这个方法也会在a对象的空间中;

          实例化B类对象b,那么在堆中会开辟一个空间存储b对象,那么m这个方法会复制一份到b对象所在的空间中吗?

PS:2020、8、8回答,上面的解答可能不太准确,目前没必要深究,只需知道:

方法是放在方法区中的,只有new出来的东西是放在堆内存中的,主要是方法区,堆、栈的关系,以后有机会应该可以通过了解Java虚拟机深入理解这儿的知识,这儿如果对开发造不成太大障碍的话,可以先过掉

子类对象加载的执行过程,下面的主要看流程:

第三步:因为静态成员是隶属于类的,所以为了加载类,需要把static成员加载进来。

下图中第九步说对象已经得到了,似乎不妥,目前理解是,对象的Object式的基本模型已经得到,接下来是要着手得到具体的父类对象了

关乎父类对象的东西都准备完毕。

 

基本过程是,先加载类,再加载成员属性以得到对象。

要想产生子类的实例对象,会先去调用父类的构造流程,完成父类的构造。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值