例如,如果我有一个类Utensil
,然后我像这样实例化它:
Utensil utensil = new Utensil();
然后还有一个新的 class Fork
,并utensil
像这样:
Fork fork = (Fork)utensil;
是否fork
仍在引用原始utensil
对象?
例如,如果我有一个类Utensil
,然后我像这样实例化它:
Utensil utensil = new Utensil();
然后还有一个新的 class Fork
,并utensil
像这样:
Fork fork = (Fork)utensil;
是否fork
仍在引用原始utensil
对象?
是的,假设Fork
是Utensil
.
一个更好的例子是Fork
成为 的子类Utensil
:
Fork fork = new Fork();
Utensil utensil = fork;
此时变量fork
和utensil
都引用同一个对象。
是的。
转换一个对象给你一个对同一个对象的引用,但是把它看作你转换它的类型。
(拳击转换除外)
我不认为这是你真正的意思。在您的示例中,如果 Fork 扩展了 Utensil,那么您的代码将引发错误,因为 utensil 不是 Fork 并且不能分配给 fork。
如果你有这种方式
Fork fork = new Fork();
Utensil utensil = fork;
那么 utensil 仍然会引用原始的 Fork 对象。所以我想你的问题的答案是肯定的。