久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java抽象類的詳細(xì)介紹

      java抽象類的詳細(xì)介紹

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

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

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

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

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

      abstract關(guān)鍵字表示該方法被定義為抽象方法。

      3、普通方法和抽象方法的對(duì)比

      抽象方法需要用abstract關(guān)鍵字修飾,普通方法不需要;

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

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

      在java中,當(dāng)一個(gè)類被abstract修飾時(shí),該類被稱為抽象類。

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

      抽象類需要使用abstract關(guān)鍵字修飾,普通類不需要;

      普通類可以實(shí)例化,抽象類不能被實(shí)例化。

      6、代碼示例:

      父類

      package demo.chongwu;  public abstract class Pet {     private String name = "無名氏";     private int health =100;     private int love =0;     //有參構(gòu)造方法     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+".");     } }

      測(cè)試:

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

      說明:

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

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

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

      優(yōu)勢(shì):

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

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

      抽象類的局限性:

      父類的方法不一定通用,因?yàn)樽宇惖姆椒ū容^特殊;

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

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