Java中父类构造函数有参数,子类构造函数怎么写
时间: 2024-12-15 15:17:47 浏览: 5
Java序列化中子类、父类构造函数问题实例分析
在Java中,如果父类的构造函数有参数,子类可以通过super关键字来调用父类的带参构造函数。子类构造函数可以这样编写:
```java
public class ChildClass extends ParentClass {
// 如果ParentClass的构造函数有形参
private int param1;
private String param2;
// 子类构造函数
public ChildClass(int arg1, String arg2) {
// 调用父类的构造函数并传递参数
super(param1FromParent(arg1), param2FromParent(arg2)); // 假设从arg1和arg2计算出param1和param2的值
this.param1 = arg1; // 设置子类自己的实例变量
this.param2 = arg2; // 或者直接设置子类实例变量的值
}
// 如果父类没有显式带参构造函数,但有默认无参构造,那么可以直接省略super()调用
public ChildClass() {
super(); // 父类默认构造函数,无参数
//...
}
}
```
这里的关键是明确地或隐含地通过`super()`调用了父类的构造函数,并且之后可以继续初始化子类特有的字段。如果你需要覆盖某些父类的行为,可以在子类构造函数中添加额外的操作。
阅读全文