【问题标题】:What is the difference between using different variable types to refer to the same object? [duplicate]使用不同的变量类型来引用同一个对象有什么区别? [复制]
【发布时间】:2021-06-26 02:52:17
【问题描述】:

如果我有一个名为 Vehicle 的超类和一个名为 SportsCar 的子类,那么这两个创建 SportsCar 对象的代码有什么区别? car1 和 car2 有什么区别?

SportsCar car1 = new SportsCar();
Vehicle car2 = new SportsCar();

【问题讨论】:

标签: java object oop inheritance


【解决方案1】:

我会通过一个例子给你解释一下:

假设您有另一个名为 SUVVehicle 子类。现在,如果您要编写一个为车辆加油的函数。由于SportsCarSUV 的加油保持不变,因此您可以使用如下功能:

void refuel(Vehicle vehicle){
   vehicle.refuel = true;
}

通过Vehicle car1 = new SportsCar();Vehicle car1 = new SUV();这样的初始化,你可以很容易地调用函数refuel(car1); refuel(car2);

原因很简单,父类是各个子类的共同引用。

你也可以在java世界看看这个common scenario!!

您还可以通过this 了解它为何以这种方式工作的技术性。以及它如何成为 OOP 的重要支柱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 2013-06-26
    • 2014-11-25
    • 1970-01-01
    • 2013-02-17
    相关资源
    最近更新 更多