gpt4 book ai didi

java - 继承与 'Instanceof'测试结果

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:21 24 4
gpt4 key购买 nike

我正在学习'instanceof' java,但我无法清楚地理解'instanceof',我认为下面的答案是对还是错,但结果都是对的。您能解释一下为什么会出现这种结果吗?据我所知,当 A 是 B( parent )的 child 时,B 的实例为“假”,但结果与我的想法不同。

class Car{
String color;
int door;
}

class FireEngine extends Car{
void water(){
System.out.println("water");
}
}

public class Operator {
public static void main(String[] args) {
Car car = new FireEngine();
FireEngine fireCar = new FireEngine();

System.out.println(car instanceof FireEngine);
System.out.println(fireCar instanceof Car);
}
}

最佳答案

声明 != 值

您将 car 声明为 Car,但 Value 是 FireEngine

instanceof 基于 工作,而不是基于变量的声明!!!

缩短可能有助于理解:

System.out.println(new FireEngine() instanceof FireEngine);  // true
System.out.println(new FireEngine() instanceof Car); // true

关于java - 继承与 'Instanceof'测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916099/

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