为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中 抽象方法中的属性在被子类对象调用时,存放在内存中的什么地方?

JAVA中 抽象方法中的属性在被子类对象调用时,存放在内存中的什么地方?

蓝山帝景 2018-12-07 03:41:10
在每个子类实例化时,如果父类不是抽象类,都要先给父类实例化开辟空间。 然而抽象类无法实例化,那么当子类实例化的时候,抽象类中的非抽象属性存在内存中的什么地方呢? 如果抽象类的某一个作用是节省内存空间,如果抽象类的属性存储在子类对象的内存空间中,是否会增加子类空间大小?达不到节约空间的效果呢?
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

不是,这种派生关系对象不会因为你是某个某个对象的子类导致你在实例化时还要实例化父类,子类只是具有父类的特征,但不是说子类实例化还要带一堆老子出来。

抽象类并没有节省空间的作用,这些更多是面象对象的东西。

在实例化子类字段时会实例化父类的字段。内存开销你可以忽略吧,这个不是现在这些高级语言的关注点,就算到了需要关注的场景也不是从这个地方下手。

查看完整回答
反对 回复 2018-12-16
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

从生命周期这个级别来看 

对象创建的时候 执行顺序为

1.构造器

2.父类构造方法

3.子类构造方法 

通过这点可以看出 子类的创建 等于把父类的内容一并弄了一遍

查看完整回答
反对 回复 2018-12-16
  • 2 回答
  • 0 关注
  • 595 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信