java多型向上轉型向下轉型的問題

2021-05-13 08:47:00 字數 579 閱讀 5871

1樓:

引用a的型別是animal,是cat的父類。所以是「父類引用指向子類物件」。如果是「子類引用指向父類物件」,那應該寫成 cat a = new animal();但這顯然是不和邏輯的。

你說的沒錯——「向上轉型後,父類也只能呼叫父類已經有的方法」。但是子類如果覆蓋了父類的方法,那麼即使向上轉型,方法的行為也表現為覆蓋後的行為。這也是多型的一種體現。

向上轉型更多的用來體現一種程式設計上的「約定」。所有繼承某個類或者實現某個介面的類,一定包含某個方法,這樣在呼叫的時候,使得你也不必關係具體的實現細節,只要知道「這個型別中的某個方法能幫我完成工作」就可以了。

向下轉型,是「引用的型別」的變化,不是物件例項型別的變化。new什麼,就是什麼。不會因為向上或者向下轉型而改變自己的型別。

最後一個問題,不管向上還是向下轉型,呼叫的都是實際型別中的那個方法。比如,animal a = new cat(); a.叫()。那這個叫就是cat型別例項中的「叫」方法。

2樓:發現小眾旅行地

不要在意這些細節,實踐比理論更重要。

多用,自然就熟了,但是為什麼,我也說不上來。

很多明星轉型成了演員,大家覺得誰的轉型比較成功呢?

很多明星轉型成了演員,大家覺得哪些明星的轉型優秀呢?今天就讓我們討論一下。第一,張學友。張學友是通過唱歌出道的,我們可以看到張學員演唱的歌曲特別好,張學友的歌曲餓狼傳說和吻別別這幾首的傳唱度特別高,而且張學友在這麼多年的努力之後,張學友的國民度也非常高,張學友在我們的爸爸媽媽那個時期就是很多人喜歡大...

java中的多型有哪幾種,Java中的多型有哪幾種?

我簡單描述下 就是表現出多種形態啊 哪幾種這種表述不是很恰當 拓展性好 具體實現就是父類的引用指向子類的物件。呼叫的時候呼叫子類的方法 執行時多型和編譯時多型 什麼是多型性?java中的多型包含哪些型別?多型性 顧名思義就是擁有 多種形態 的含義,是指屬性或方法在子類中表現為多種形態。它包括兩種型別...

什麼是銀行轉型,中國銀行的轉型方向是什麼

近年來,數字經濟蓬勃發展,催生了很多新業態新產業,如金融科技 人工智慧 雲端儲存等等,同時,眾多傳統銀行也紛紛抓住這個機遇作為 跳板 與金融科技企業更加密切的聯絡,藉助分賬系統順利轉型升級為數字銀行,那麼在這其中分賬系統是如何發揮作用的呢?我們都瞭解,銀行想要發展最重要的就是通過拉存款來促進業務流動...