0
点赞
收藏
分享

微信扫一扫

Java 继承中构造函数的问题


继承中构造函数的问题

父类构造函数和子类构造函数的关系

new一个之类对象时默认调用了父类的无参构造函数 ,创建了父类对象 父类的成员变量和成员方法才能创建出来 子类才能继承下来使用

首先创建一个父类,动物类

Java 继承中构造函数的问题_开发语言

接下来创建一个子类,狗类,继承动物类

Java 继承中构造函数的问题_开发语言_02

在main方法中,new一个dog对象,观察控制台的输出发现,先执行了父类的无参构造函数,然后执行了子类的构造函数。

Java 继承中构造函数的问题_构造函数_03

当父类没有无参构造时,会怎么样?

如下,把父类动物类的无参构造改为有参构造

Java 继承中构造函数的问题_jvm_04


子类dog中的无参构造提示异常

Java 继承中构造函数的问题_父类_05

解决这个异常,有两个办法。

1.在父类中,再一个无参构造函数

Java 继承中构造函数的问题_jvm_06

2.手动调用父类中的有参构造函数

如下图,在子类dog中,super代表手动调用父类的有参构造函数

Java 继承中构造函数的问题_父类_07


举报

相关推荐

0 条评论