永发信息网

java继承时,实例化子类,是否会默认调用父类构造方法

答案:2  悬赏:60  手机版
解决时间 2021-01-07 11:24
  • 提问者网友:沦陷
  • 2021-01-06 20:39
java继承时,实例化子类,是否会默认调用父类构造方法
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-01-06 20:51
在 Java 中,无论是 explicit 还是 implicit 方式,都要求在子类的构造方法中调用其父类的构造方法。如果父类无构造方法(其实是一个默认无参的构造方法),那么子类的构造方法中会自动进行调用;如果 父类有自己的构造方法(这时父类不会有默认无参的构造方法),那么在子类的构造方法中,必须要调用父类的某个构造方法,而且必须是在构造方法的第一个语句 中进行调用。

究其原因,想必是 Java 语言设计者,要求子类有责任保证它所继承的父类尽快进入到一个稳定、完整的状态中。试想,如果没有这个约束,那么子类的某个继承自父类的方法可能会使用到父类中的一些变量,而这些变量并没有进行初始化,从而产生一些难以预料的后果。

也因此,当一个类的构造方法是 private 时,它是不可被 extends 的,因为子类构造方法难以调用到这个父类的构造方法。
全部回答
  • 1楼网友:摆渡翁
  • 2021-01-06 21:07
会调用B的无参构造方法,需要强调的是构造方法是不能被继承的,但可以用super访问。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯