java为什么我们可以在子类构造函数中调用超类方法?
我需要一个更好的解释我不知道这是否是Java语言本身提供的功能
//super class
public class Student {
public Student(){}
public void display(){
System.out.println("Hello from Student");
}
}
//Subclass
public class SeniorStudent extends Student {
public SeniorStudent(){
super();
display();
}
public static void main(String[] args) {
SeniorStudent st=new SeniorStudent();
}
}
当我运行程序时,会调用display()
方法。
这里的逻辑是什么
# 1 楼答案
在子类中调用display方法,但如果不重写display()方法,它会自动调用父类。类的构造是在类中执行的第一部分。您的软件的逻辑如下:
因此,如果您想在控制台中打印“Hello from senior student”,您必须像这样更改senior student类
如果你把超级。display()在SeniorStudent类的display方法中,调用父display方法,然后执行senior student display方法,使输出类似
希望我不太清楚,但如果你有什么问题,我很乐意帮助你