有个疑问生成子类对象没有生成父类对象,那么super指向的父类对象是什么时候生成的?

因为抽象类也有构造方法,它不可能生成实例,而super可以访问父类的非静态成员变量,所以我认为super是指向一个父类对象的... 因为抽象类也有构造方法,它不可能生成实例,而super可以访问父类的非静态成员变量,所以我认为super是指向一个父类对象的 展开
 我来答
坤坤吃饭第一名
2016-05-23 · TA获得超过667个赞
知道小有建树答主
回答量:391
采纳率:66%
帮助的人:206万
展开全部
你这样理解是错误的。super根本不是父类对象的引用。而是访问父类成员的一个标识符而已。
如果每创建一个子类对象,就会创建一个父类对象的话,那对于复杂的多层次的继承链,堆内存岂不是会立刻Overflow?所以你要记住:this是指向当前对象的引用,这没错,但是super只是一个标识而已,并不是指向父类对象。new一个子类对象,不会创建父类对象。具体看《Core java 卷 1》
xjf5562
2016-05-23 · TA获得超过1190个赞
知道小有建树答主
回答量:896
采纳率:75%
帮助的人:745万
展开全部
我用非标准的语言来说一下:
当一个子类对象生成时,其内部是包含一个父类对象的,但是对于父类对象的私有部分,子类对象不可访问。
追问
还想问一下,java是必须new + 构造方法才能生成对象,还是调用父类构造方法就能生成对象
追答
一般用new生成对象(少数可通过调用方法来生成)。不能直接调用父类的构造方法,只能在本类的构造方法中才能调用父类的构造方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式