gpt4 book ai didi

java - 父类(super class)对子类对象的引用

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:34 25 4
gpt4 key购买 nike

我很困惑:我从学习资源中引用了以下引文(以及它们出现的部分的标题),但在我看来,这些引文似乎相互矛盾。

父类(super class)引用和子类对象

“决定可以访问哪些成员的是引用变量的类型,而不是它所引用的对象的类型”

重写方法支持多态性

被引用的对象的类型(而不是引用变量的类型)决定了将执行哪个版本的重写方法”

如有任何对此的澄清,我们将不胜感激。

最佳答案

假设我们有两个类。

class Vehicle{

public void drive(){
System.out.println("Vehicle is Moving");
}
}
class Car extends Vehicle{

public void drive(){
System.out.println("Car is Moving");
}

public void playMusic(){
System.out.println("Car is Playing Music");
}
}

“决定可以访问哪些成员的是引用变量的类型,而不是它所引用的对象的类型”

这意味着如果我们有这样的代码车辆车辆 = new Car();使用vehicle对象,我们可以调用drive(),但不能调用playMusic(),因为vehicle的类型是车辆

“被引用的对象的类型(而不是引用变量的类型)决定了将执行哪个版本的重写方法”

这意味着如果我们有这样的代码

Vehicle vehicle = new Car();
vehicle.drive();

它将打印“Car is Moving”而不是“Vehicle is Moving”,因为存储在 vehicle 中的对象是 Car 的实例。

关于java - 父类(super class)对子类对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27792050/

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