gpt4 book ai didi

java - 子类是否总是使用父类(super class)的默认构造函数?

转载 作者:行者123 更新时间:2023-11-30 06:32:35 25 4
gpt4 key购买 nike

为什么子类不能只使用自己的默认构造函数?当 Bike 扩展了 Vehicle 类时,为什么 Bike 使用 Vehicle 的构造函数来创建自行车对象?

当自行车对象有一些父类中不存在的其他成员时,使用父类的构造函数似乎可以,然后使用父类(super class)来减少编写额外的重复代码来初始化。看起来不错。(可能我完全错了)。

public class Vehicle {

Vehicle()
{

System.out.println("Vehicle is created");

}
}

public class Bike extends Vehicle {

public static void main(String[] args){

Bike HondaBike = new Bike();
}
}

Output: Vehicle is created

最佳答案

new Bike() 调用 Bike 类的无参数构造函数,该类又调用其父类(super class) Vehicle 的无参数构造函数,但由于您没有为类 Bike 编写无参数构造函数,编译器会生成一个带有空主体的构造函数。因此,在您看来,只有 Vehicle 的构造函数被执行。

关于java - 子类是否总是使用父类(super class)的默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45781221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com