Java學習之 抽象類與介面

2021-06-22 14:33:55 字數 1490 閱讀 5546

一、抽象類

1、為子類提供通用表達形式的類,使子類可以通過動態繫結機制呼叫與基類宣告的簽名相符的衍生類方法。抽象類只提供一種形式,不提供實施的細節。

2、抽象類中的抽象方法只有宣告,沒有方法體。乙個類如果有乙個或多個抽象方法,該類必須用abstract關鍵字宣告為抽象類。

3、抽象類不能通過new類例項化,只能作為其他類的基類,可以被繼承。 4、

抽象類中可以有自己的構造方法,可以含有非抽象的成員或方法,可以含有抽象的成員或方法,也可以不含有抽象的成員或方法。

5、若乙個非抽象類繼承了抽象類,那麼該類必須要重寫抽象類中的抽象方法。

6、抽象類可以被抽象類繼承,結果還是抽象類。

7、抽象類不能同時又是final,因為final的類不能被繼承。

package practice;

/** * 假如我們在開發乙個系統時需要對員工進行建模,員工包含 3 個屬性:

姓名、工號以及工資。經理也是員工,除了含有員工的屬性外,另為還有乙個

獎金屬性。請使用繼承的思想設計出員工類和經理類。要求類中提供必要的方

法進行屬性訪問。

員工類:name id pay

經理類:繼承了員工,並有自己特有的bonus。

* @author user

* */

abstract class employee

public abstract void work();//abstract methods do not specify a body

}class manager extends employee

public void work() }

class boss extends employee

public void work()

}public class myabstract

}

二、介面

1、介面是一種更加抽象的抽象類:用inte***ce關鍵字宣告,我們經常需要表達這樣的意思:x從屬於a,,也從屬於b,也從屬於c。此時,就可以通過介面實現乙個類(抽象基類或普通基類)的多繼承。

2、介面中的成員變數預設是public、static、final型別的(都可以省略),必須為顯示初始化,且一般都是大寫的常量(單詞間用「_」分隔)

3、介面中的方法預設都是public、abstract型別的(都可以省略),只有方法宣告,沒有方法體。

4、介面中只能包含public static final型別的成員變數和public abstract型別的方法,不能包含其他型別的成員變數和方法。

5、介面中沒有構造方法,不能例項化。

6、在類中實現介面通過implements關鍵字,類的繼承是單繼承,類繼承介面是多繼承。

inte***ce shape

class square implements shape

}public class testinte***ce

}

Java之抽象類與介面

1 abstract 用來描述抽象類和抽象方法 抽象類 用abstract描述的類 抽象方法 用abstract描述的方法,只有方法名,沒有具體的方法體 實現方式 1.1.抽象方法必須在抽象類中,抽象類中不一定有抽象方法 1.2.抽象類中可以有普通方法,有屬性宣告 1.3.抽象類不能直接被例項化 1...

Java抽象類與介面

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

JAVA抽象類與介面

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