我在某处读到,在 Java 中“构造函数不是继承的”。
另一方面,我还读到如果我不显式调用super,Java 会自动调用不带参数的父类(super class)构造函数(在这种情况下必须存在这样的构造函数)。
自动调用父类(super class)构造函数(不带参数)不是一种继承形式吗?
“构造函数不被继承”到底是什么意思?
最佳答案
这意味着您不能使用父类(super class)的构造函数来创建子类——如果子类也没有声明它的话。一个例子;
class A {
A() {}
A(String s) {}
}
class B extends A {
}
现在你不能这样做:
B b = new B("testing");
关于java - "constructors are not inherited"到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396879/