JAVA基礎知識回顧_3_抽象類
阿新 • • 發佈:2019-01-06
抽象類
在面向物件的概念中,所有的物件都是通過類來描繪的,但是反過來,並不是所有的類都是用來描繪物件的,如果一個類中沒有包含足夠的資訊來描繪一個具體的物件,這樣的類就是抽象類。
抽象類除了不能例項化物件之外,類的其它功能依然存在,成員變數、成員方法和構造方法的訪問方式和普通類一樣。
由於抽象類不能例項化物件,所以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。
父類包含了子類集合的常見的方法,但是由於父類本身是抽象的,所以不能使用這些方法。
在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 {//用抽象類去繼承另一個抽象類,可以不用實現抽象方法
}