国产探花免费观看_亚洲丰满少妇自慰呻吟_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類的方法是重載。
比較紅色的和粉紅的部分就可以發現多態對重載的優點:如果用重載,則在父類里要對應每一個子類都重載一個取得邊數的方法;如果用多態,則父類只提供取得邊數的接口,至于取得哪個形狀的邊數,怎樣取得,在子類里各自實現(重寫)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 读书| 湾仔区| 怀远县| 元氏县| 三门峡市| 湘阴县| 达拉特旗| 金坛市| 海南省| 栾城县| 宜都市| 贵港市| 天柱县| 汽车| 稻城县| 金塔县| 南华县| 西安市| 渝中区| 南充市| 丹东市| 石嘴山市| 绵阳市| 盱眙县| 武鸣县| 惠安县| 洱源县| 改则县| 新巴尔虎左旗| 息烽县| 遵化市| 简阳市| 济源市| 克什克腾旗| 哈密市| 南平市| 新郑市| 观塘区| 阿坝县| 奉节县| 莱州市|