可以解释输出是如何像这样的?

问题描述:

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 created 

B created 

我无法理解的构造A()是如何invoked.There不称为B()超级。但仍然调用A()。

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

这就是为什么程序在B created之前打印A created的原因。

在子类中,super()会自动调用以确保对象的构造正确。