我在一份试题纸上看到了这个问题:
为什么派生类构造函数总是访问基类构造函数?
我想知道这个问题是否有效?
发布于 2010-05-28 05:23:04
这样,在开始处理派生对象中的继承功能之前,您可能有一个有效的"Base“类型的对象!
发布于 2010-05-28 05:31:54
这是无效的。它没有“应该”:它必须是,编译器强制使用它,如果基类的默认构造函数存在,则调用它;如果不存在,则给出编译错误,这迫使您调用现有的构造函数之一。
发布于 2010-05-28 05:28:01
总是有一个例外,超类中的默认构造函数通常不被称为显式构造函数。
如果构造函数没有显式调用超类构造函数,Java编译器将自动插入对超类的无参数构造函数的调用。如果超类没有无参数构造函数,您将得到编译时错误。对象具有这样的构造函数,因此如果对象是唯一的超类,则没有问题。
https://stackoverflow.com/questions/2926775
复制相似问题