含有抽象方法的類被稱為
抽象類。它不能被直接例項化,乙個抽象類必須用abstract關鍵字來修飾。
相應的,抽象類中沒有方法體的方法被稱為抽象方法。即抽象方法只需宣告,無需實現。當然,乙個抽象方法也必須用abstract來宣告。
正是因為抽象類無法直接建立例項,所以在實際中,抽象類只是對某些具有相似性但又有一定區別的型別做成乙個更高的抽象,
抽象類的特點:
(1)抽象類必須用abstract來修飾類的宣告。
(2)抽象類不能直接用new運算子建立例項。
(3)抽象類中可以沒有抽象方法,但如果定義了抽象方法,則該方法不能有方法體。
(4)抽象類中的抽象方法要被使用,必須由子類複寫起所有的抽象方法後,建立子類物件呼叫。
abstract class person
}class student extends person
}class test
}
介面介面是一組沒有具體實現的方法的集合。任何乙個類都可以實現介面中的乙個或者多個方法。
介面和抽象類一樣不能使用new運算子來建立乙個例項。
可以使用實現的介面型別作為該類例項的型別。
介面和類是不一樣的,類只能繼承自乙個父類,但介面卻可以有多個父介面。
下面是乙個實現了comparable介面的person類,使person物件具有比較性。
class person implements comparable //該介面強制讓學生具備比較性
public string getname()
public int getage()
public int compareto(object obj)
}
抽象類與介面的區別:
(1)乙個類只能繼承乙個超類,但乙個類實現多個介面,介面也可以多個父介面。
(2)介面中的方法僅是抽象方法的宣告,而抽象類中可以包含方法的具體實現。
Java抽象類與介面
一.概念 在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。比如 如果我們進行乙個圖形編輯軟體的開發,就會發現問題領域存在著圓 三角形這樣一些具體概念。它們是不同的...
JAVA抽象類與介面
抽象方法 使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。public abstract void fun 抽象類 使用abstract關鍵字修飾的類 包含抽象方法的類是抽象類 抽象類可以不包含抽象方法 抽象類只能被繼承,不能自己建立例項 ...
Java 抽象類 與 介面
如果乙個類含有抽象方法,則稱這個類是抽象類,抽象類必須使用abstract 關鍵字修飾。因為抽象類中含有抽象方法,所以不能用抽象類建立物件。抽象方法 只有宣告,沒有實現。如果乙個類繼承了乙個抽象類,他必須實現這個抽象類的全部抽象方法,否則,他依然是個抽象類。如下 private abstract c...