1. 程式人生 > >JAVA基礎知識回顧_3_抽象類

JAVA基礎知識回顧_3_抽象類

抽象類

在面向物件的概念中,所有的物件都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪物件的,如果一個類中沒有包含足夠的資訊來描繪一個具體的物件,這樣的類就是抽象類。
抽象類除了不能例項化物件之外,類的其它功能依然存在,成員變數、成員方法和構造方法的訪問方式和普通類一樣。
由於抽象類不能例項化物件,所以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。
父類包含了子類集合的常見的方法,但是由於父類本身是抽象的,所以不能使用這些方法。
在Java中抽象類表示的是一種繼承關係,一個類只能繼承一個抽象類,而一個類卻可以實現多個介面。

抽象方法

如果你想設計這樣一個類,該類包含一個特別的成員方法,該方法的具體實現由它的子類確定,那麼你可以在父類中宣告該方法為抽象方法。
Abstract關鍵字同樣可以用來宣告抽象方法,抽象方法只包含一個方法名,而沒有方法體。
抽象方法沒有定義,方法名後面直接跟一個分號,而不是花括號。

注意

要定義抽象方法,那這個類必須是抽象類。繼承抽象類的子類必須要實現父類的抽象方法,或者該子類也是抽象類

詳細看如下程式碼

public abstract class fruite { //抽象類
    public abstract void eat();//抽象方法

    public abstract
void wash(); } class apple extends fruite {//繼承抽象類 @Override public void eat() {//實現抽象方法 // TODO Auto-generated method stub System.out.println("蘋果削皮吃"); } @Override public void wash() { // TODO Auto-generated method stub System.out.println("蘋果要洗"); } } abstract
class banana extends fruite {//用抽象類去繼承另一個抽象類,可以不用實現抽象方法 }