Java 中的抽象類

使用了關鍵詞abstract聲明的類叫作“抽象類”。如果一個類裏包含了一個或多個抽象方法,類就必須指定成abstract(抽象)。

“抽象方法”,屬於一種不完整的方法,只含有一個聲明,沒有方法主體。

使用抽象類要注意以下幾個要點:

包含一個或者多個抽象方法的類必須被聲明爲抽象類.
將類聲明爲抽象類,不一定含有抽象方法.
通常認爲,在抽象類中不應該包括具體方法,建議儘量將通用的域和方法放在超類中.
抽象類不可以被實例化.即不能創建這個類的對象
實例代碼:

package com.imooc.chouxiang;

 //定義一個抽象父類Telephone

public  abstract class Telephone {

  //定義兩個抽象方法,抽象方法沒有方法體,以分號結束。

  public abstract void call();

  public abstract void message();

}


定義兩個子類CellPhone,SmartPhone繼承Telephone,子類會自動生成call,message方法,在子類中實現具體的方法。

package com.imooc.chouxiang;

 public class CellPhone extends Telephone {

     @Override

    public void call() {

        System.out.println("傳統手機用鍵盤撥打電話!!");

     }

     @Override

    public void message() {

               System.out.println("傳統手機用鍵盤發短信!!");

    }

 }


package com.imooc.chouxiang;

 public class SmartPhone extends Telephone {

     @Override

    public void call() {

               System.out.println("智能手機用語音撥打電話!!");

     }

     @Override

    public void message() {

               System.out.println("智能手機用語音發送短信!!");

    }

 }


創建一個測試類測試抽象類及子類,代碼及運行結果如下:

package com.imooc.chouxiang;

 public classTestPhone {

     public static void main(String[] args) {

        //CellPhone的一個實例

        Telephonetl1=new CellPhone();

        //調用CellPhone的兩個方法

        tl1.call();

        tl1.message();

        //SmartPhone的一個實例

        Telephonetl2=new SmartPhone();

        //調用SmartPhone的兩個方法

        tl2.call();

        tl2.message();

    }

 }

 運行結果如下:

傳統手機用鍵盤撥打電話!!

傳統手機用鍵盤發短信!!

智能手機用語音撥打電話!!

智能手機用語音發送短信!!





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章