例如,如果我有一个类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 对象。所以我想你的问题的答案是肯定的。