在 Java 中转换对象
我对在Java中强制转换对象意味着什么感到困惑。
假设你有...
Superclass variable = new Subclass object();
(Superclass variable).method();
这是怎么回事?变量类型是更改了,还是变量中的对象发生了变化?非常困惑。
我对在Java中强制转换对象意味着什么感到困惑。
假设你有...
Superclass variable = new Subclass object();
(Superclass variable).method();
这是怎么回事?变量类型是更改了,还是变量中的对象发生了变化?非常困惑。
请看一下此示例:
public class A {
//statements
}
public class B extends A {
public void foo() { }
}
A a=new B();
//To execute **foo()** method.
((B)a).foo();
假设你有一个超类水果和子类香蕉,你有一个方法 addBananaToBasket()
例如,该方法将不接受葡萄,因此您要确保将香蕉添加到篮子中。
所以:
Fruit myFruit = new Banana();
((Banana)myFruit).addBananaToBasket();
⇐ 这称为铸造