Java 你能解释输出是怎么来的吗?
上述程序的输出将为Java 你能解释输出是怎么来的吗?,java,inheritance,constructor,Java,Inheritance,Constructor,上述程序的输出将为 public class A { public A(){ System.out.println("A created"); } public static void main(String[] args) { new B(); } } class B extends A{ public B(){ System.out.println("B created"); } } 我不明白构
public class A {
public A(){
System.out.println("A created");
}
public static void main(String[] args) {
new B();
}
}
class B extends A{
public B(){
System.out.println("B created");
}
}
我不明白构造函数A()是如何调用的。在B()中没有调用super。但是仍然调用了一个() 当class
B
扩展classA
时,默认情况下它将调用构造函数A()
这就是为什么程序在子类中的
B created
之前打印A created
,super()
A created
B created