gpt4 book ai didi

java - 编译器 "know"是否在强制转换之前了解变量的类型?

转载 作者:行者123 更新时间:2023-11-30 03:19:14 26 4
gpt4 key购买 nike

相关:What does casting do at compiler/machine level?

假设我有自定义类型。 A 型是 B 型的子类型。

最初,我的变量类型为 A 类型。然后我将其转换为 B 类型。

大多数编译器(尤其是 Java 编译器)是否保留该变量曾经是 A 类型这一事实的“内存”?因此,特定于 A 类型变量的操作对于 B 类型变量仍然有效?

//感谢大家的评论。 Is it possible to call subclasses' methods on a superclass object? - 我在这里找到了答案。我认为我最初提出的问题并不正确,但每个人的有益评论让我以不同的方式思考这个问题并最终得到了答案。

最佳答案

强制转换本质上是说“假装这个变量的类型只是为了这次调用”。底层变量/对象不会更改,也不会丢失其类型声明。 Java 是一种静态的强类型语言。

关于java - 编译器 "know"是否在强制转换之前了解变量的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31750489/

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