编写构造函数,并重载多个构造函数,分析与父类构造函数的关系
时间: 2024-05-07 15:15:25 浏览: 80
在Java中,我们可以使用关键字“super”来调用父类的构造函数,在子类的构造函数中使用“super”来完成对父类构造函数的调用。因此,在重载子类构造函数时,需要注意与父类构造函数的关系,确保在子类构造函数中调用了父类的构造函数。
下面是一个例子:
```
public class ParentClass {
private int num;
public ParentClass(int num) {
this.num = num;
}
public int getNum() {
return num;
}
}
public class ChildClass extends ParentClass {
private String name;
public ChildClass(int num, String name) {
super(num);
this.name = name;
}
public ChildClass(String name) {
this(0, name);
}
public ChildClass() {
this(0, "");
}
public String getName() {
return name;
}
}
```
在这个例子中,ParentClass包含一个构造函数,它需要一个整数参数。ChildClass继承自ParentClass,并重载了多个构造函数。
在ChildClass的第一个构造函数中,它需要两个参数,一个整数和一个字符串。在这个构造函数中,我们调用了父类构造函数,并使用“super”关键字来传递整数参数。然后,我们将字符串参数赋值给name变量。
在ChildClass的第二个构造函数中,它只需要一个字符串参数。在这个构造函数中,我们调用了第一个构造函数,并将整数参数设置为0。
在ChildClass的第三个构造函数中,它不需要任何参数。在这个构造函数中,我们调用了第二个构造函数,并将字符串参数设置为空字符串。
通过这种方式,我们可以重载多个构造函数,并确保每个构造函数都调用了父类的构造函数。这样,我们就可以根据需要创建ChildClass对象,而不必担心构造函数参数的问题。
阅读全文