没有扩展时理解超级关键字

understanding super keyword when no extends

public class B {
    B()
    {
        super();
        System.out.println();
    }
    
}

我想知道这个程序发生了什么,它工作正常,但我没有扩展任何 class

Every class extends Object - 所以你正在调用那个 super() 方法。如果您只是在构造函数中设置一个断点并进入 super 调用,您就可以看到这一点。你真正拥有的是:

public class B extends Object {
    B()
    {
        super();
        System.out.println();
    }
    
}

每个 Class 默认情况下从 Object class 扩展到 Java 并调用 super() 将调用 Object 的构造函数 class.