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

Nar*_*uto 9 c++ java

是否必须在Java中调用基类构造函数?在C++中它是可选的,所以我问这个.

当我扩展时ArrayAdapter,我收到此错误:"Implicit super constructor ArrayAdapter<String>() is undefined. Must explicitly invoke another constructor"

那么,调用基础构造函数的目的是什么?当我创建对象基类时,构造函数将调用&然后它来派生权.

ric*_*t1k 10

如果你不自己调用no-args构造函数,则会隐式调用no-args构造函数,如果该构造函数不存在则无效.需要调用超级构造函数的原因是超类通常具有一些它在构造后期望处于的状态,这可能包括无法在子类中设置的私有变量.如果不调用构造函数,它会使对象处于可能无效的状态,这可能会导致各种问题.