Re: [問題] 觀念問題-多型和多載

看板java作者 (ArssertionError)時間17年前 (2007/03/24 09:38), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/8 (看更多)
你所提到的兩個例子都是多載 另外 順帶一提 多載的限制在於 方法名稱相同 引數不同 可以是不同數量 不同型別 不同順序都可 只要符合以上條件 就算是多載 多載主要是讓我們在撰寫程式時可針對各種不同之傳入引數做出不同的行為 而所謂的多型 是一種程式技巧 利用自動轉型來以父類別呼叫子類別覆寫後的方法 最常用在父類別為介面時 子類別將被強制覆寫父類別的抽象方法(除非子類別也為介面或抽象類別) 在swing awt中都大量使用多型 如下例 interface A { void Amethod(); } class B implements A{ public void Amethod(){ //more code here } } 如果此時要從C存取B中的Amethod() 可以有兩種寫法 class C { public static void main(String[] args){ B b = new B(); b.Amethod();//這是一般的寫法 A a = new B(); a.Amethod();//這是多型的寫法 } } 在collection的使用中也有人很愛用多型 如List a = new ArrayList(); Queue q = new LinkedList();等等 另外 在使用多型時要注意 父類別只可呼叫子類別覆寫之方法或父類別自己的方法 如果呼叫父類別沒有的方法 編譯時期將會出現cannot find symbol的錯誤 以上 有問題再mail給我 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.80.145 ※ 編輯: DavyBlue 來自: 59.113.80.77 (03/24 18:37)
文章代碼(AID): #161849nv (java)
文章代碼(AID): #161849nv (java)