什么是Java上的隐式构造函数

在Java中调用基类构造函数是强制性的吗?在C ++中,它是可选的,所以我问这个问题。

当我扩展时ArrayAdapter,我得到这个错误:"Implicit super constructor

ArrayAdapter<String>() is undefined. Must explicitly invoke another

constructor"

那么,调用基本构造函数的目的是什么?当我创建对象时,基类的构造函数将调用&然后涉及到派生权。

回答:

如果您自己不调用no-

args构造函数,则该隐式调用;如果该构造函数不存在,则无效。要求调用超构造函数的原因是,超类通常在构造后会处于其预期的状态,其中可能包含无法在子类中设置的私有变量。如果不调用构造函数,它将使对象处于可能无效的状态,这可能会导致各种问题。

以上是 什么是Java上的隐式构造函数 的全部内容, 来源链接: utcz.com/qa/421216.html

回到顶部