gpt4 book ai didi

java - 引用变量的数据类型 (Java)

转载 作者:搜寻专家 更新时间:2023-11-01 02:01:28 24 4
gpt4 key购买 nike

我有一个引用变量的问题。我的问题是声明变量的类型是指对象的类型还是存储在其中的引用的类型?

我在 Edwin Dalorzo 上找到了一个非常有趣的答案 this话题。他描述每个引用都有一个类型,当我们执行类型转换时,它只会更改用于引用该对象的引用的类型(而不是该对象本身的类型!)。

所以我的问题是引用变量的类型是否告诉我们其中存储了哪种类型的引用。当然Object的类型和引用的类型是一样的。

假设 B a = new B();

B 现在是否告诉编译器 a 持有类型 B 的引用?

或者编译器是否完全忽略存储在其中的数据类型(引用)而只考虑底层对象的类型?方法返回类型相同。

最佳答案

引用有一个类型,它只能有一个引用分配给它一个对象,该对象是该类型(或子类或实现类)的实例

编译器和 JVM 检查对象的引用和类型。

有些情况下只有一个很重要,例如

Thread t = null;
t.yield();

在这种情况下调用静态方法,不考虑引用的实际值。

相反,当使用反射时,引用的类型并不重要,只有底层对象才重要。

关于java - 引用变量的数据类型 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512783/

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