1. 程式人生 > 實用技巧 >抽象方法和抽象類

抽象方法和抽象類

抽象方法和抽象類的定義

關鍵字 abstract

抽象類

public abstract class 類名稱  {
    //...
}

抽象方法

public abstract class 類名稱  {
    public abstract void 方法名稱(引數列表);
}

抽象類和抽象方法的使用

1;不能直接建立new抽象類物件

2:必須用一個子類繼承抽象父類

3:子類必須覆蓋重寫抽象父類中的所有抽象方法

覆蓋重寫:子類去掉[abstract]關鍵字,然後補上方法體大括號。

public abstract class Demo   {
    public abstract
void eat(); }
public class Test extends Demo{
    public static void main(String[] args) {
        Test test=new Test();
        test.eat();

    }
    @Override
    public void eat() {
        System.out.println("完成子類對父類抽象方法的覆蓋重寫");
    }
}

執行結果:


注意事項:

1:抽象類不能建立物件,如果建立,編譯無法通過而報錯,只能建立其非抽象類子類的物件。

2:抽象類中,可以有構造方法,是供子類建立物件時,初始化父類成員使用的

3:抽象類中,不一定包含抽象方法,但是含有抽象方法的類一定是抽象類

4:抽象類的子類,必須覆蓋重寫抽象父類中的所有抽象方法,否則,編譯無法通過而報錯,除非該子類也是抽象類