Java基礎 抽象類和介面的區別

2021-08-21 13:27:08 字數 834 閱讀 7217

當子類中有一些共有的但是細節不同的行為的時候,可以對這些行為進行抽取,將這些行為抽取到父類中以抽象方法的形式展現。---抽象方法所在的類一定是抽象類

抽象類不能例項化(建立物件),但是有構造方法

抽象類中可以有抽象方法也可以沒有抽象方法

抽象方法可以過載

抽象方法不可以用static/final修飾

抽象方法不可以用private修飾

抽象方法可以用預設許可權修飾嗎?---可以---父子類必須同包

當子類繼承了抽象類之後要求必須實現對應的抽象方法

用inte***ce定義介面,用implements關鍵字讓類和介面之間產生聯絡,這種聯絡稱之為實現。

介面不能用於例項化,也沒有建構函式---介面不是類

單繼承,多實現---乙個類只能有乙個父類,但是可以實現多個介面---多實現必不可免的會導致方法的混亂

inte***ce a{

void m();

public class b implements a{

void m(){ // 介面中的方法預設是public修飾---重寫 一大 原則

system.out.println(「b m()」);

介面中的方法預設是抽象方法,預設用public(只能用)修飾,介面中的資料預設是靜態常量---預設用public static final修飾

介面可以繼承介面---介面之間是多繼承

抽象類在實現介面之後一定要實現這個介面中的所有的抽象方法嗎?---不一定

介面可以在一定程度上統一結構實現方法的統一呼叫,但是可能會導致**的冗餘

介面中不能定義建構函式,雖然介面編譯完成後也會產生乙個class檔案,但介面本質上不是類

Java基礎 抽象類和介面的區別

a 宣告方法的存在而不實現它的類叫做抽象類 介面是抽象類的變體,是純抽象類 b 抽象類由關鍵字abstract來宣告 介面由inte ce宣告 c 繼承抽象類要使用extends 實現介面要使用implements d 抽象類可以有構造器,介面中不能有 e 抽象類可以有普通成員變數 介面中的變數預設...

Java抽象類和介面的區別

含有abstract修飾符的class 即為抽象類,abstract類不能建立例項物件,含有abstract的方法的類必須定義為abstract class abstract class 裡的方法不必是抽象的,抽象來中定義抽象方法必須放在具體子類中實現,所以呀,不能有抽象的構造方法或抽象的靜態方法,...

java 抽象類和介面的區別

從語法層面上講 抽象類 1 抽象類的使用的關鍵字是abstract 2 抽象類類中能夠直接在抽象類中直接實現非抽象方法相關的預設方法的實現 3 抽象類中可以定義變數 4 再抽象類中成員中可以使用 public private protected許可權修飾 5 抽象類中可以定義自己的成員變數屬性 介面...