国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 15:27:53
字體:
來源:轉載
供稿:網友

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

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

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

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

class Triangle extends Shape {

 public int getSides() {
  return 3;
 }

}

class Rectangle extends Shape {
 public int getSides(int i) {
  return i;
 }

}

public class Shape {
 public boolean isSharp(){
  return true;
 }

 public int getSides(){
  return 0 ;
 }
 public int getSides(Triangle tri){
  return 3 ;
 }
 public int getSides(Rectangle rec){
  return 4 ;
 }


 public static void main(String[] args) {
  Triangle tri = new Triangle();
  System.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類的方法是重載。
比較紅色的和粉紅的部分就可以發現多態對重載的優點:如果用重載,則在父類里要對應每一個子類都重載一個取得邊數的方法;如果用多態,則父類只提供取得邊數的接口,至于取得哪個形狀的邊數,怎樣取得,在子類里各自實現(重寫)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绵竹市| 襄城县| 广安市| 慈溪市| 丰顺县| 唐河县| 招远市| 凤山县| 敦化市| 临安市| 武定县| 荆州市| 唐山市| 恩平市| 舟山市| 大邑县| 湖州市| 墨脱县| 东乡族自治县| 长泰县| 习水县| 连南| 罗江县| 滦平县| 汶川县| 宝清县| 封开县| 海原县| 台湾省| 宜黄县| 沂水县| 苗栗市| 静海县| 江西省| 海林市| 南投县| 巴彦淖尔市| 佛山市| 通渭县| 微山县| 阜城县|