可以解释输出是如何产生的吗?

CKR*_*666 0 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");
    }       
}
Run Code Online (Sandbox Code Playgroud)

上述程序的输出将是

A created

B created
Run Code Online (Sandbox Code Playgroud)

我无法理解如何调用构造函数A().在B()中没有超级调用.但仍然调用A().

Tha*_*vas 7

当类B扩展类时A,它A( )默认会调用构造函数.

这就是程序A created之前打印的原因B created.