JAVA中抽象類與介面介紹及其異同

2021-09-13 18:44:58 字數 1062 閱讀 5492

簡單地說,就是被abstract修飾的類就是抽象類。

關於abstract修飾符:

1)被abstract修飾的類為抽象類,該類不能有物件,即不能通過new來進行例項化。

2)被abstract修飾的方法稱為抽象方法,該方法不能有方法體,不能實現任何具體的功能,即乙個空的方法,連{}都不能有。

3)有抽象方法的類一定是抽象類,抽象類內的方法不一定都是抽象方法。

那麼,可能就會有疑問了,既然抽象類不能new乙個物件,而且其中的方法也是空方法,那這個抽象類有什麼用呢?又怎麼去使用呢?

抽象類一定要有其他的類去繼承這個抽象類,如果沒有類繼承,那麼這個抽象類就真的失去了意義了。與此同時,當乙個類繼承了這個抽象類後,一定要重寫其中所有的抽象方法。

比如定義乙個抽象的學生類:

//抽象學生類

public abstract class student

再定義乙個大學生類去繼承這個抽象的學生類,並重寫其所有的抽象方法:

public class collegestu  extends student

@override

public void eat()

@override

public void sleep()

@override

public void test() {};

}

這樣便可以在大學生類中對其中的方法進行呼叫了。抽象類類似於乙個模板,所有基層這個模板的子類都需要重寫所有的抽象方法,即使在子類中沒有用到該函式也要將其重寫(如上例中的考試方法)。

介面是抽象類的延伸,是一種特殊的抽象類。

關於介面:

1)介面中的方法是預設抽象的,因此也不能有具體的實現。

2)介面中的變數是預設static final 的,因此在介面中宣告乙個變數是必須賦值且在後續的使用中無法更改。

3)當乙個類實現該介面時,也必須重寫介面中定義的所有的抽象方法。

1)都必須重寫所有的抽象方法。

2)二者都無法被例項化,也就是不能直接new乙個物件。

Java 抽象類 介面及其區別

用關鍵字abstract修飾的方法稱為抽象方法 對於抽象方法,只允許宣告,不允許實現,而且不允許同時使用final和abstract修飾乙個方法 抽象方法所在的類必為抽象類或者介面 用關鍵字abstract修飾的類稱為抽象類 抽象類中可以有abstract方法,也可以有非abstract方法 abs...

Java抽象類與介面

一.概念 在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。比如 如果我們進行乙個圖形編輯軟體的開發,就會發現問題領域存在著圓 三角形這樣一些具體概念。它們是不同的...

JAVA抽象類與介面

抽象方法 使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。public abstract void fun 抽象類 使用abstract關鍵字修飾的類 包含抽象方法的類是抽象類 抽象類可以不包含抽象方法 抽象類只能被繼承,不能自己建立例項 ...