Java 介面和抽象類的區別

2021-08-20 08:07:53 字數 669 閱讀 7771

犬:

行為:吼叫;

吃飯;緝毒犬:

行為:吼叫;

吃飯;緝毒;

由於犬的種類不同,他們吼叫和吃飯的方式也不一樣,因此在描述的時候不能具體化,也就是吼叫和吃飯的行為不能明確。這時,可以將這個行為寫進抽象行為,則這個類就是抽象類。

然而,當緝毒犬有其他額外功能時,而這個功能並不在這個事物的體系中,這時可以讓緝毒犬具備犬科自身特點的同時也具備其他額外功能,則可以將這個額外功能定義在介面中。

inte***ce 緝毒

//定義犬科的這個共性功能

abstract

class 犬科

// 緝毒犬屬於犬科一種,讓其繼承犬科,獲取的犬科的特性,

//由於緝毒犬具有緝毒功能,那麼它只要實現緝毒介面即可,這樣即保證緝毒犬具備犬科的特性,也擁有了緝毒的功能

class 緝毒犬 extends

犬科 implements

緝毒 void 吃飯()

void 吼叫()

}class 緝毒豬 implements

緝毒}

1. 相同點:

2. 區別:

3. 二者選用

Java介面和抽象類區別

abstract class inte ce 繼承性單繼承 多實現方法 抽象方法 具體方法 抽象方法 filed 宣告 使用filed欄位 建立的為靜態常量 final static 訪問許可權 public protected private或package public 構造器有 無介面特點 a...

Java 介面和抽象類的區別

1 抽象類可以有構造方法 介面不可以有構造方法 2 抽象類可以有普通成員變數 介面不可以有普通成員變數 3 抽象類可以包含普通非抽象的方法 介面中所有方法都必須是抽象的,不能有非抽象的普通方法 4 抽象類下的抽象方法訪問型別可以是public protected 但介面的訪問型別必須是public,...

java介面和抽象類的區別

抽象類和介面的區別?1 成員區別 抽象類 成員變數 可以是變數,也可以是常量 成員方法 可以抽象,也可以非抽象 建構函式 有 介面 成員變數 只能是常量 成員方法 只可以抽象 建構函式 沒有建構函式 2 關係區別 類與類 繼承,單繼承 類與介面 實現,單實現,多實現 介面與介面 繼承,單繼承,多繼承...