答案 0 :(得分:1)
构造函数不是继承的,因为您没有创建超类的实例,而是创建新类的实例。无法知道要调用哪个超类构造函数。
公平地说,默认(无arg构造函数)始终存在。这是你所指的具体论证,我在假设。
答案 1 :(得分:0)
实际上,java总是为子类创建新的构造函数,但仅限于默认的,没有参数构造函数。如果您的类具有默认(无参数)构造函数以外的构造函数,则必须再次定义它们...构造函数不是行为方法,而是对象初始化(对于具有新属性的子类可能会更改)
答案 2 :(得分:0)
默认无参数默认情况下,继承并调用构造函数。如果你想打电话给另一个,你可以使用super()。如果无法使用默认构造函数,则必须使用一个可访问的超级构造函数
答案 3 :(得分:0)
构造函数与类名具有相同的名称,如果您能够将它们继承到子类中,它们就不再是子类的构造函数。默认的无参数构造函数总是被继承。
答案 4 :(得分:0)
调用构造函数以从类蓝图创建对象,即初始化类的数据成员。如果子类要继承构造函数,那么在调用子类时,您还需要了解父类的数据成员。这不是人们在现实生活中所看到的。例如,如果您创建一个类型为法拉利的对象,您肯定会对初始化速度,加速度等参数感兴趣,即使法拉利继承了Car,您也不会为初始化Car对象的参数而烦恼。因此,在调用法拉利的构造函数时,您只会对法拉利的成员而不是其父类的成员感到困扰。我希望我的观点清楚。