
java如何输出父类的构造函数
用户关注问题
我创建了一个子类,想要在其中调用父类的构造函数,该怎么做才正确?
在子类构造器中使用super调用父类构造函数
在子类的构造函数中,可以使用super关键字来调用父类的构造函数。语法是super(参数列表),需要放在子类构造函数的第一行。例如:
public class Parent {
public Parent() {
System.out.println("父类构造函数执行");
}
}
public class Child extends Parent {
public Child() {
super(); // 调用父类的无参构造函数
System.out.println("子类构造函数执行");
}
}
这样就能确保父类的构造函数被正确执行。
父类定义了多个重载的构造函数,子类如何指定调用某个带参数的父类构造器?
使用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("子类构造函数执行");
}
}
这样可以灵活指定调用父类的构造器版本。
有时候想要在程序运行时看到父类构造函数的输出结果,有没有方法直接输出这些信息?
在父类构造函数中加入打印语句即可实现输出
父类构造函数本身是可以包含打印语句的,比如使用System.out.println方法。当实例化子类对象时,只要子类调用了父类构造函数,父类构造函数中的打印语句就会执行并输出信息。例如:
public class Parent {
public Parent() {
System.out.println("这是父类的构造函数");
}
}
创建子类对象时父类构造函数的输出也会显示。在运行时,无需额外操作即可见到这些输出。