我是Java编程语言的初学者,最近我研究了 构造函数 不能在Java中继承,有人可以解释 为什么 吗?
简而言之,构造函数不能被继承,因为在子类中它具有不同的名称(子类的名称)。
class A { A(); } class B extends A{ B(); }
您只能执行以下操作:
B b = new B(); // and not new A()
相反,方法是使用“相同名称”继承的,可以使用。
理由如下:继承构造函数没有多大意义,因为类A的构造函数意味着创建类型A的对象,而类B的构造函数意味着创建类B的对象。
不过,您仍然可以在B的实现中 使用 A的构造函数:
class B extends A{ B() { super(); } }