java - "constructors are not inherited"到底是什么意思?

标签 java

我在某处读到,在 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/

相关文章:

java - 同步块(synchronized block)/方法可以被中断吗?

java getLocalHost() UnknownHostException/etc/hosts 文件与 linux api 不同?

java - 有没有办法获得 MP Android 条形图的条形宽度(以 px/dp 为单位)?

java - 尽管在代码中设置,Android 不显示键盘

java - 无法在lucene中搜索实体

java - 如何使用 Gson 从 JSON 输出访问特定元素

java - 在 junit 中断言 UUID

java - 除了 Java 默认分隔符之外,如何使用逗号和点作为分隔符

java - ArrayList仅添加最后一个元素

java - 如何在没有绝对路径的java项目中使用图像