java 抽象類和介面的區別

2021-09-22 13:05:33 字數 441 閱讀 9827

1.抽象類是不能建立物件的,要建立物件時,必須通過子類繼承後,由子類來建立物件,抽象類中,可以有乙個或者多個抽象方法,也可以沒有抽象方法。

2.抽象類中並不是只有抽象方法,也可以由具體的成員變數和成員方法。

3.如果在乙個類中含有抽象方法,那麼這個類必須被宣告成抽象類。

4.子類繼承抽象類後,必須實現抽象類中所有的抽象方法。

為了實現多繼承,引入了介面,介面和抽象類的區別如下

1.介面中只有常量,即介面的成員變數必須初始化。 而抽象類中可以有成員變數。

2.介面中只有抽象方法,即介面中的所有方法必須全部宣告為abstract方法。 而抽象類中可以有具體的成員方法。

3.介面中預設所有的資料都是用public、final、static、修飾的,所有的方法都是用public、abstract修飾的,即介面中這些修飾符是可以省略的。 這個和抽象類中的修飾符也不一樣。

Java抽象類和介面的區別

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

java 抽象類和介面的區別

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

Java 抽象類和介面的區別

一 抽象類 包含抽象方法的類稱為抽象類,可以擁有成員變數和 普通的成員方法。與普通類的區別 1.抽象方法必須為public或者protected 因為如果為private,則不能被子類繼承,子類便無法實現該方法 預設情況下預設為public。2.抽象類不能用來建立物件 3.如果乙個類繼承於乙個抽象類...