java基礎 抽象類和抽象函式

2021-06-18 14:35:24 字數 1275 閱讀 5261

什麼是抽象函式?

只有函式的定義,沒有函式體的函式被稱為抽象函式。

abstract void fun();

什麼是抽象類?

使用abstract定義的類被稱之為抽象類;

1、抽象類不能夠生成物件

2、如果乙個類當中包含有抽象函式,那麼這個類必須被宣告為抽象類

3、如果乙個類當中沒有抽象函式,那麼這個類也可以被宣告為抽象類

抽象類是用來做父類的,無法直接生成例項!!

abstract class person

adstract void eat();

}

當子類繼承了抽象的父類時,一定要複寫父類的抽象函式。

class chinese extends person

}

如果我們定義了乙個類,不想去讓這個類生成物件時,我們可以把這個類定義成乙個抽象類,即使類裡沒有抽象函式。

抽象類可以有建構函式嗎?

答:可以有建構函式。

子類的建構函式中,系統會預設呼叫父類的建構函式(如果沒有顯示的呼叫),就是super( ); 當然也可以在子類的建構函式中顯示使用super加引數顯示呼叫父類的建構函式。

為什麼要使用抽象類?

使用抽象類的必要性之一。

class printer

void close()

void print()

}

//該印表機為噴墨印表機

class hpprinter extends printer

}

//該印表機為針式印表機

class cannonprinter extends printer

}

class test

}

上面的例子中存在乙個問題:如果繼承printer類後,忘記去複寫print函式,程式也是可以執行的,但結果不對。

所以我們把printer中的print寫成抽象函式後,就不可能是忘記複寫,不複寫程式不會編譯通過。

//現代程式設計理論:

//如果一段**在語意上是有錯誤的,那麼在語法上也應該是有錯誤的

abstract class printer

void close()

abstract void print()

}

Java 基礎抽象方法和抽象類

抽象類和抽象方法的基本用法 抽象類 abstract class animal class dogextends animal public void seedoor 測試抽象類 public class testabstractclass 抽象類的使用要點 有抽象方法的類只能定義成抽象類 抽象類不...

抽象類和抽象函式

抽象類和抽象函式 類是抽象的,物件是具體的 比類更抽象的是抽象類 抽象方法 定義 只有函式的定義,沒有函式體 函式體即是 的函式稱為抽象函式 例 abstract void fun 抽象方法特點 抽象方法和抽象類用abstract修飾 抽象方法在乙個類中,這個類必須是抽象類 抽象方法沒有方法體 抽象...

抽象類和抽象函式

a.抽象函式 只有函式定義,沒有函式體.eg abstract void fun b.抽象類 1.抽象類不能被例項化生成物件.2.當乙個類中包含有抽象函式時,該類必須被宣告為抽象類.3.類中沒有抽像函式時,也可被宣告為抽象類,一般用於不想該類被例項化生成物件.4.抽象類天生就是用來被繼承的.抽象類的...