創建子類對象指向父類對象有什么用


舉個簡單的例子吧。類A,另外一個類B繼承了類A。有如下代碼:
A a = new B() ; 這就稱父類的引用a 指向了子類的對象new B(),就是這個意思。

假如你的A是一個接口,或者抽象類,那么是不可以創建對象的,這樣寫就可以也能夠它的引用去指向他子類或者實現類的對象。這句話寫在這里感覺不明顯。
其實主要是用在方法的參數上,也就是多態性(java的三大特性之一,可想何等重要),為了讓你理解深刻,我舉個例子。

假如有一個類,這個類需要實現吃各種水果,有香蕉,蘋果,梨子等等。
我們是不是就得寫:
public void eat(Banana banana) { //.....}
public void eat(Apple apple) { //.....}
等等等等。這樣是不是很麻煩啊,但是我要是把這個方法寫成:
public void eat(Fruit fruit){//....}
這樣只要繼承Fruit或者實現Fruit接口,就都可以作為eat的參數,是不是大大簡化了編程。
 
         
         
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM