java中,子类初始化时一定要调用父类的构造方法,不调用行吗?

java中,子类初始化时一定要调用父类的构造方法,不调用行吗?谢谢!!... java中,子类初始化时一定要调用父类的构造方法,不调用行吗?

谢谢!!
展开
 我来答
19820320x
推荐于2017-10-03 · TA获得超过565个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:282万
展开全部
一定会调用,原因是这样的。
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!
随风的鱼儿漂流
推荐于2017-09-19 · TA获得超过617个赞
知道小有建树答主
回答量:123
采纳率:75%
帮助的人:58.8万
展开全部
不行的 你想一下,子类继承了父类的各种属性,而构造方法则相当于把父类给实例化出来,如果你子类实例化的时候不调用父类的构造方法,相当于子类压根就没有父亲,又怎么谈得上继承呢?

另外,抽象类是例外,因为抽象类是没有构造方法的,无法实例化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忽之吉来
2007-10-16
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
如果父类的构造方法是带参数的,而且没有无参数的构造方法,那么在子类的构造方法中必须显式地调用父类的构造方法。
如果父类的构造方法是无参数的,那么在子类中写不写都可以,不写的话会隐式地调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
koostyle
2007-10-14 · TA获得超过1892个赞
知道小有建树答主
回答量:686
采纳率:50%
帮助的人:565万
展开全部
随便你怎么样,它都会调用.因为在继承之后的构造方法里面,默认的会调用,你如果不写,只是你看不到而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友18cbea2
2019-06-17
知道答主
回答量:1
采纳率:0%
帮助的人:729
展开全部
如果需要调用superclass的带参构造器,那么就需要在子类构造器里显式调用(比如:super(括号里是参数))
那么对于superclass的无参构造器呢,当我们没有任何对于父辈构造器的显式调用时,系统就会自动帮在第一行加一个super(); (就是调用父辈的无参构造器)
那么,因为只有没有任何显式调用时才会自动调用无参构造器,所以我想到的是 可不可以在superclass里添加一个没有任何代码的空的带参构造器 让子类主动去调用它,这样看起来就会像 没有调用父类的构造方法一样了。
(不知道这样做可不可以 求路过的大佬多多指教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式