父类子类构造函数 java_Java基础-继承-子父类的构造函数-子类的实例化过程
时间: 2023-08-05 15:07:00 浏览: 91
在 Java 中,子类的构造函数会默认调用父类的无参构造函数,如果父类没有无参构造函数,则子类必须使用 super 关键字显式调用父类的有参构造函数。同时,子类的构造函数可以使用 this 关键字调用本类的其他构造函数,但是 this 和 super 关键字只能在构造函数的第一行使用,否则会编译错误。
子类的实例化过程如下:
1. 子类构造函数的第一行会默认调用父类的无参构造函数,如果父类没有无参构造函数,则必须使用 super 关键字显式调用父类的有参构造函数。
2. 子类的实例变量和实例代码块会被初始化。
3. 子类构造函数中剩余的代码会被执行。
示例代码如下:
```java
public class Parent {
public Parent(int num) {
System.out.println("Parent constructor with parameter: " + num);
}
}
public class Child extends Parent {
private int age;
public Child(int num, int age) {
super(num); // 显式调用父类的有参构造函数
this.age = age;
}
public Child(int num) {
this(num, 0); // 使用 this 调用本类的其他构造函数
}
{
System.out.println("Child instance code block.");
}
public static void main(String[] args) {
Child child = new Child(10);
}
}
```
输出结果为:
```
Parent constructor with parameter: 10
Child instance code block.
```
阅读全文