java如何输出父类的构造函数

java如何输出父类的构造函数

作者:William Gu发布时间:2026-02-14阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何在子类中调用父类的构造函数?

我创建了一个子类,想要在其中调用父类的构造函数,该怎么做才正确?

A

在子类构造器中使用super调用父类构造函数

在子类的构造函数中,可以使用super关键字来调用父类的构造函数。语法是super(参数列表),需要放在子类构造函数的第一行。例如:

public class Parent {
public Parent() {
System.out.println("父类构造函数执行");
}
}

public class Child extends Parent {
public Child() {
super(); // 调用父类的无参构造函数
System.out.println("子类构造函数执行");
}
}

这样就能确保父类的构造函数被正确执行。

Q
父类有多个构造函数,如何选择调用特定的一个?

父类定义了多个重载的构造函数,子类如何指定调用某个带参数的父类构造器?

A

使用super并传入对应参数调用指定父类构造函数

可以根据需要调用不同的父类构造函数,只需在子类构造函数中使用super并传入对应参数即可。例如,父类有一个带有int类型参数的构造器:

public class Parent {
public Parent(int x) {
System.out.println("调用父类带int参数的构造函数,参数值:" + x);
}
}

子类调用该构造函数:

public class Child extends Parent {
public Child() {
super(10); // 调用父类带int参数的构造函数
System.out.println("子类构造函数执行");
}
}

这样可以灵活指定调用父类的构造器版本。

Q
是否可以直接输出父类构造函数中的信息?

有时候想要在程序运行时看到父类构造函数的输出结果,有没有方法直接输出这些信息?

A

在父类构造函数中加入打印语句即可实现输出

父类构造函数本身是可以包含打印语句的,比如使用System.out.println方法。当实例化子类对象时,只要子类调用了父类构造函数,父类构造函数中的打印语句就会执行并输出信息。例如:

public class Parent {
public Parent() {
System.out.println("这是父类的构造函数");
}
}

创建子类对象时父类构造函数的输出也会显示。在运行时,无需额外操作即可见到这些输出。