欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          java抽象類的詳細介紹

          java抽象類的詳細介紹

          1、區(qū)分普通方法和抽象方法

          (推薦教程:java入門教程)

          在java中,當一個類的方法被abstract關鍵字修飾時,該方法就稱為抽象方法,而抽象方法所在的類必須被定義為抽象類。當一個方法被定義為抽象方法后,意味著該方法不會有具體的實現(xiàn),而是在抽象類的子類中通過方法重寫進行實現(xiàn)。

          2、定義抽象方法的語法格式:

          [訪問修飾符]abstract<返回類型><方法名>([參數(shù)列表])

          abstract關鍵字表示該方法被定義為抽象方法。

          3、普通方法和抽象方法的對比

          抽象方法需要用abstract關鍵字修飾,普通方法不需要;

          普通方法有方法體,抽象方法沒有方法體。

          4、區(qū)分普通類和抽象類

          在java中,當一個類被abstract修飾時,該類被稱為抽象類。

          5、普通類和抽象類的區(qū)別

          抽象類需要使用abstract關鍵字修飾,普通類不需要;

          普通類可以實例化,抽象類不能被實例化。

          6、代碼示例:

          父類

          package demo.chongwu;  public abstract class Pet {     private String name = "無名氏";     private int health =100;     private int love =0;     //有參構造方法     public  Pet (String name){         this.name =name;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public int getHealth() {         return health;     }      public void setHealth(int health) {         this.health = health;     }      public int getLove() {         return love;     }      public void setLove(int love) {         this.love = love;     }      //抽象方法,輸出寵物信息     public abstract void print();  }

          子類

          package demo.chongwu;  public class Dog  extends Pet{     private String strain;      public Dog(String name, String strain) {         super(name);         this.strain = strain;     }      public String getStrain() {         return strain;     }      public void setStrain(String strain) {         this.strain = strain;     }      @Override     public void print() {         System.out.println("我的名字是"+this.getName()+"我是一只"+this.strain+".");     } }

          測試:

          package demo.chongwu;  public class Test {     public static void main(String[] args) {         Pet pet =new Dog("布爾","拉布拉多");         pet.print();     } } 輸出結(jié)果: 我的名字是布爾我是一只拉布拉多.

          說明:

          通過將print方法抽象化,并且在子類里重寫父類的print方法,這時候可以實例化子類得到子類對象,并且通過子類對象調(diào)用子類方法,從而輸出子類信息。否則不這么做的話,無法直接實例化抽象類,將無法輸出正確子類信息。

          (視頻教程推薦:java視頻教程)

          7、抽象類和抽象方法的優(yōu)勢與局限性

          優(yōu)勢:

          抽象類中已經(jīng)實現(xiàn)的方法可以被其子類使用,使得代碼可以被復用;

          為子類提供了抽象方法,提供了子類具有自身的獨特性。

          抽象類的局限性:

          父類的方法不一定通用,因為子類的方法比較特殊;

          子類繼承父類抽象類時,寫出來的方法可能會出現(xiàn)代碼重復的情況。

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號