首頁  >  文章  >  Java  >  java中重載,繼承,重寫和多型的區別

java中重載,繼承,重寫和多型的區別

高洛峰
高洛峰原創
2017-01-19 13:58:031322瀏覽

重載,繼承,重寫和多態的區別:

1)繼承是子類別獲得父類別的成員。
2)重寫是繼承後重新實作父類別的方法。 
3)重載是在一個類別裡一系列參數不同名字相同的方法。 
4)多態則是為了避免在父類裡大量重載引起程式碼臃腫且難於維護。

網路上看到一個有趣的說法是:繼承是子類別使用父類別的方法,而多型別則是父類別使用子類別的方法。

下面的例子包含了這四種實作:

class Triangle extends Shape {

 public int getSides() {
  return 3;
 }
}
) 問題 iint cints {
  return i;
 }
}

public class Shape {
 public boolean isSharp(){
  return true;
 }
🜠. int getSides(Triangle tri) {
  return 3 ;
 }
 public int getSides(Rectangle rec){
  return 4 ;
 }

 public static v. .out.println (“Triangle is a type of sharp? ” + tri.isSharp());
  Shape shape = new Triangle();
  System.out.println(“My shape has ” + shape.getSides() + ” sides.” );
 }
}

紅色是重載,綠色是重寫,藍色是繼承,粉紅是多態

注意Triangle類別的方法是重寫,而Rectangle類別的方法是重載。
比較紅色的和粉紅的部分就可以發現多態對重載的優點:如果用重載,則在父類裡要對應每一子類都重載一個取得邊數的方法;如果用多態,則父類別只提供取得邊數的接口,至於取得哪個形狀的邊數,怎樣取得,在子類別裡各自實現(重寫)。

更多java中重載,繼承,重寫和多態的區別相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn