社区
Java SE
帖子详情
面试中遇到的一个问题
Jajiel
2010-04-15 10:32:45
如题:
有一个父类 A{…………}
子类 B extends A { …………}
现在 B b = new B()
问: 有几个对象? 在内存中是如何表示的?
...全文
259
14
打赏
收藏
面试中遇到的一个问题
如题: 有一个父类 A{…………} 子类 B extends A { …………} 现在 B b = new B() 问: 有几个对象? 在内存中是如何表示的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hepeng_8
2010-04-20
打赏
举报
回复
可以说是2个对象
也可以说是一个对象
一个对象就是 b
2个对象就是 b 里 还含有 一个父类的对象
liang ge
fskjb01
2010-04-20
打赏
举报
回复
可恶的面试题,扣这种东西有用么,我说有100个对象,好吧,很占内存吧,那就不要用 new了,全部用单例吧......
allvictory
2010-04-20
打赏
举报
回复
再加上两个类对象吧,三个
ZangXT
2010-04-15
打赏
举报
回复
[Quote=引用 9 楼 keeya0416 的回复:]
看样子我是把引用和对象的概念没区分好
我的理解是:
堆中的一个对象((superAttribute)subAttribute)
父类引用引用了其中一部分
子类引用引用了全部;含有同名属性的话,子类引用在不强转成父类的话无法显式引用父类的属性。
不知道是否正确
[/Quote]
能否引用啥属性主要是给编译器检查用的
keeya0416
2010-04-15
打赏
举报
回复
[Quote=引用 6 楼 keeya0416 的回复:]
其实子类的构造里第一行就是默认的父类的无参构造函数
个人觉得可以说是实例化了一个父类的对象
后边子类再封装了下
[/Quote]
这也就是说着子类构造里的父类构造并不是完全构造,只是把父类需要的空间给开了后再交给子类把子类的需要的空间给添加上后再打上mark字段。此时才是真正构造完一个可以称之为“对象”的对象;ZangXT大侠 是这个意思么
keeya0416
2010-04-15
打赏
举报
回复
看样子我是把引用和对象的概念没区分好
我的理解是:
堆中的一个对象((superAttribute)subAttribute)
父类引用引用了其中一部分
子类引用引用了全部;含有同名属性的话,子类引用在不强转成父类的话无法显式引用父类的属性。
不知道是否正确
jimyx123
2010-04-15
打赏
举报
回复
与实例化一个父类对象不一样,那样的话就无端端多出一个父类对象占用的空间了
子类的大小是包括了父类所有属性的,另外就算没有任何属性创建父类对象也要占空间的
keeya0416
2010-04-15
打赏
举报
回复
ZangXT 说的很好,看样子我过去的理解都要颠覆了。。。杯具了
『传说中的“父类对象”或许是指Base.i这个东西吧。我不知道没有了mark字段和Klass指针的几个成员是否有资格叫做“对象”』(ZangXT原话)。
keeya0416
2010-04-15
打赏
举报
回复
其实子类的构造里第一行就是默认的父类的无参构造函数
个人觉得可以说是实例化了一个父类的对象
后边子类再封装了下
jimyx123
2010-04-15
打赏
举报
回复
1个对象,方法区两个类实例
父类的字段会合并到子类去,包括子类不能访问的字段
ZangXT
2010-04-15
打赏
举报
回复
http://blog.csdn.net/ZangXT/archive/2009/09/24/4587985.aspx
1个,我博客里画了个图
WYhack
2010-04-15
打赏
举报
回复
[Quote=引用 1 楼 keeya0416 的回复:]
可以说是2个对象
也可以说是一个对象
一个对象就是 b
2个对象就是 b 里 还含有 一个父类的对象
[/Quote]
2个对象就是 b 里 还含有 一个父类的对象
那么,在内存中是怎么表示的?
WYhack
2010-04-15
打赏
举报
回复
期待有高手解释!
keeya0416
2010-04-15
打赏
举报
回复
可以说是2个对象
也可以说是一个对象
一个对象就是 b
2个对象就是 b 里 还含有 一个父类的对象
【Java设计模式】23种模式全解析:核心思想、六大原则与三大分类体系及框架应用
内容概要:本文系统阐述了23种设计模式的完整知识体系,涵盖其底层思想、六大设计原则、三大分类(创建型、结构型、行为型)及其核心应用场景。文章深入剖析了每种模式的定义、结构、优缺点、代码实现与工程落地案例,并结合JDK、Spring等主流框架源码讲解其实际应用,帮助开发者理解设计模式如何解决代码耦合、扩展性差、复用率低等工程痛点。同时提供了高频
面试
题解析与易混淆模式对比,强化实战与应试能力。 适合人群:具备Java基础的初
中
级研发人员,准备Java后端
面试
的求职者,以及希望深入理解框架底层设计原理的开发人员。 使用场景及目标:①掌握23种设计模式的核心原理与适用场景;②理解Spring、MyBatis等框架底层所应用的设计模式;③应对Java后端开发
中
关于设计模式的
面试
考察;④提升代码设计能力,写出高内聚、低耦合、易扩展的高质量代码。 阅读建议:学习时应结合代码示例动手实践,重点关注模式间的对比与适用边界,并联系实际项目或框架源码加深理解,避免死记硬背。
SCUCN-1故障集+安全约束机组组合研究(Matlab代码实现)
内容概要:本文围绕“【SCUC】N-1故障集+安全约束机组组合研究(Matlab代码实现)”展开,系统探讨电力系统在N-1故障场景下的安全约束机组组合(SCUC)
问题
,旨在实现系统安全性与运行经济性的协同优化。研究通过构建包含机组启停、出力计划、潮流约束、备用容量及N-1安全准则的数学模型,结合混合整数线性规划等优化算法,利用Matlab平台完成仿真求解,并引入YALMIP等建模工具提升建模效率。文档提供了完整的代码实现方案与测试案例,涵盖故障集的生成与处理方法,帮助用户掌握鲁棒性和分布鲁棒优化的基本思想,适用于电力系统安全校核与调度决策支持。; 适合人群:电力系统及相关专业的研究生、从事电力调度、能源优化的科研人员及工程技术人员。; 使用场景及目标:① 掌握N-1安全准则在机组组合
中
的建模方法与实现流程;② 开展安全约束机组组合(SCUC)与安全约束经济调度(SCED)的仿真分析;③ 利用Matlab/YALMIP快速搭建电力系统优化模型并进行求解与验证。; 阅读建议:建议读者结合文档内容与网盘提供的完整资源(含代码与数据),动手实践建模与调试过程,重点关注约束条件的设定、故障场景的枚举与处理策略,同时参考相关文献深化对鲁棒优化与分布鲁棒方法的理解。
政府园区如何提升区域科技创新决策水平?.docx
政府园区如何提升区域科技创新决策水平?
Java SE
62,622
社区成员
307,252
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章