为什么当我在 main() 中创建子类时,超类的构造函数会自动执行?

Why does the constructor of a superclass automatically execute when i create a subclass in main()?

我并没有真正在任何地方使用 super(),但仍然调用了超类的构造函数。为什么会这样?

class SuperDemo{
    public static void main(String[] args) {
        B subClass = new B();
        subClass.showbiz();
    }
}

class A{
    int i;
    A(){
        i = 10;
    }
}

class B extends A{
    
    void showbiz(){
        System.out.println("i in subclass " + i);
    }
}

这就是语言的工作原理。如果您不使用 super 显式调用超类的构造函数,将隐式调用超类的默认构造函数。