我是 Java 新手。我创建了一个超类和一个从它扩展的子类:
class Car {
private String name;
private int wheels;
public Car(String name, int wheels) {
this.name = name;
this.wheels = wheels;
}
}
class Ford extends Car {
public Ford(String name, int wheels) {
super(name, wheels);
}
}
然后在 main 方法中我可以创建超类和子类的实例:
Car car = new Car("car", 4);
Ford ford = new Ford("ford", 6);
Car ford2 = new Ford("ford", 6);
我只是想问一下,创建实例时以 Ford 开头,还是以 Car 开头,有什么区别吗?正如您所看到的 ford 和 ford2 的创建方式不同。请注意,我知道 ford 和 ford2 不一样,因为它们是具有不同指针的引用变量。我只是想知道它们创建的语法。谢谢
编辑:
我发现了差异,但不明白其背后的逻辑。
如果您在 Car 类中有一个方法,您可以从 ford 和 ford2 调用它
如果您在 Car 和 Ford 类中有一个同名的方法,您可以从 ford 和 ford2 调用它,并且它将调用子类中的方法
如果您仅在 Ford 类中拥有一个方法,则无法从 ford2 中调用它 - 您将收到错误。
我真的不明白为什么,ford2仍然是福特的一个实例
富国沪深
不负相思意
幕布斯7119047
四季花海
拉丁的传说
相关分类