荟萃馆

位置:首页 > 计算机 > java语言

在子类中应该如何调用父类的构造方法

java语言8.16K

在Java中,子类可以继承父类的非私有成员变量和成员方法(不是以private关键字修饰的)作为自己的成员变量和成员方法。但是,不能继承父类的构造方法,那么在子类中应该如何调用父类的构造方法?今天本站小编为大家整理的在子类中应该如何调用父类的构造方法,仅供学习参考,欢迎大家阅读浏览!

在子类中应该如何调用父类的构造方法

答:子类可以调用由父类声明的`构造方法。但是必须在子类的构造方法中使用super关键字来调用。其具体的语法格式如下:

super([参数列表]);

例如,在动物类Animal中添加一个默认的构造方法和一个带参数的构造方法,具体代码如下:

1public class Animal{

2 String skin = "不清楚"; // 成员变量

3 public Animal () { // 默认构造方法

4 }

5 public Animal(String strSkin) { // 带参数的购造方法

6 skin = strSkin;

7 }

8}

这时,如果想在子类Dog中使用父类的带参数的构造方法,则需要在子类Dog的构造方法中通过以下代码进行调用。

1public class Dog extends Animal{

2 public Dog (){

3 super("白色"); //使用父类的带参数的构造方法

4 }

5 public static void main(String[] args) {

6 Dog dog=new Dog();

7 tln("小狗的毛是"+);

8 }

9}

运行上面的代码将显示如图1所示的运行结果。

专家点评

在Java中,子类不能继承父类的构造方法,但是如果子类没有编写调用父类构造方法的代码,那么Java将自动在子类的构造方法中添加super();语句,用于调用父类的无参构造方法。所以说即使您没有手动指定调用父类的构造方法,父类的无参构造方法也将会被执行。因此,在Java中,如果想调用父类中无参的构造方法,则可以使用super();语句调用,也可以不使用super();语句调用。但是如果要调用带参数的构造方法,则需要使用super()方法。