[問題] 父類別使用子類別定義的方法

作者: Dong0129 (阿東跟上面講的情況一樣b)   2020-09-14 11:41:08
各位版友好,
發現有一種寫法如下,
class Father{}
class Child extend Father
{
public void test(){}
}
main()
{
Father father=new father();
((Child)father).test();
}
請問((Child)father).test();用法的名稱為何?
這樣子呼叫有什麼好處呢?
作者: ssccg (23)   2020-09-14 11:46:00
你有跑過? 這會ClassCastExceptionfather不是Child,不能cast成Child
作者: LPH66 (-6.2598534e+18f)   2020-09-14 13:10:00
名詞叫做 downcast, 不過如樓上所說要真的參照子類別才能轉用途基本上是有時你一開始拿到的只能是父類別參照但你能夠確定 (不論透過設計或是透過 instanceof)它其實參照到某一個子類別, 那你就能轉成子類別參照進而運用子類別才有的成員

Links booklink

Contact Us: admin [ a t ] ucptt.com