類 抽象類 介面

2021-10-24 08:14:10 字數 983 閱讀 7358

1.類

變數(靜態和非靜態)

常量方法(靜態和非靜態)

構造方法

游離塊靜態塊

內部類(靜態和非靜態)

2.抽象類

類中可以定義抽象類都可以定義

抽象方法

特點:不能建立物件,不是因為沒有構造器或者構造器私有

3.介面

① 介面的概念

介面是功能的集合,同樣也是一種引用資料型別,是比「抽象類」 更為抽象的類

介面只描述所應具備的方法,並沒有具體的實現。

個人認為:介面是一種身份的象徵,例如實現runnable介面,你就是乙個執行緒類;實現cloneable介面,就可以轉殖;實現 comparable《引用型別》,就可以比較

② 介面的特點

1. 介面中定義變數(公有靜態常量),預設是 public static final修飾 其值不能改變 基本資料型別, 值不能改變 引用資料型別,位址不能改變

2. 介面中定義抽象方法,抽象方法可以省略掉 public abstract jdk1.8以後可以定義 static 方法 和 default 方法

3. 介面不可以建立物件。

4. 實現類,必須實現介面中所有的抽象方法,才能建立物件。 若不想實現介面中的所有的抽象方法,可以選擇把自己定義成抽象類

5. 類 與 類 單繼承 extends 乙個 子類 只能擁有 乙個 父類

類 與 介面 多實現 implements 乙個實現類,可以實現多個接

介面 與 介面 多繼承 extends 乙個介面可以繼承多個 父介面

乙個類 同時繼承乙個父類,實現多個介面

③介面 和 抽象類的區別

相同點: 都是位於繼承的頂端,用於被其他類繼承或者實現 都不能例項化物件(都不能建立物件) 都可以定義抽象方法,其子類(實現類)實現這些抽象方法

不同點:

介面類抽象類

介面類 抽象類 在python中是沒有介面類,可以把介面類和抽象類視為同一種 定義 制定乙個規範 舉例 收到專案經理的要求,寫乙個支付 第一版class alipay def init self,money self.money money defpay self print zfb支付了 s se...

介面,抽象類

介面 用inte ce定義介面 由常量定義和方法定義兩部分組成 格式 修飾符 inte ce a extends b 在類中實現介面,方法名 返回值型別 引數的個數和型別必須與介面中完全一致 實現介面中所有方法 實現多個介面,中間用逗號分隔 抽象類包含抽象方法的乙個類 沒有足夠資訊描繪物件 用abs...

抽象類 介面

抽象類中的抽象方法禁止寫任何實現 1,a 抽象類不能被繼承 b 抽象方法不能有任何實現,一切實現都在子類中 c 抽象類中可以有非抽象方法,但是非抽象類絕對不能有抽象方法 class program public abstract class person public class chinese p...