抽象類與介面

2022-08-27 08:57:08 字數 693 閱讀 7718

抽象類:

1,抽象類不能用new來創造他的例項(在子類的構造方法中例項化),但是可以作為一種資料型別。下邊是正確的(假設a是抽象類):

a a=new a[10];

2,抽象類中可以沒有抽象方法,但是有抽象方法該類一定是抽象類。

3,子類可以覆蓋父類的抽象方法,並將它定義為abstract(但是很少用,一般在都實現了這種方法,但是他在當父親的方法實現在子類變的無效時是很有用的,此時必須用他)。

4,即使子類的父親是具體的,子類也可以是抽象的(如a與object);

5,抽象類中的方法是非靜態的,構造方法定義為抽象protected(因為他只能被子類使用);

compare

變數構造方法

方法抽象類

無限制子類通過呼叫構造方法鏈呼叫構造方法,抽象類不能用new操作符例項化

無限制介面

所有的變數為public static final

無構造方法,不能用new例項化。

public abstract

乙個類可以繼承多個介面(implements),但是只能繼承乙個類,介面可以繼承介面,但是介面不能繼承類;

介面:1,介面是對功能的拓展,它的目的是指明相關或者不相關類的多個物件的共同行為。

2,介面中只有常量和抽象方法。// 介面中只有的方法全是abstract。

3,介面可以繼承介面(用extends)。

介面與抽象類

介面與抽象類區別 個人總結 語法結構 1 型別可以繼承多個介面,但是只能繼承乙個抽象類,即不支援多重繼承。2 介面可以用於值型別和引用型別,例如struct和class,而抽象類不能用於值型別,只能用於引用型別。3 抽象類定義可以包括建構函式,字段資料,非抽象成員 具體實現 等,而介面只能包括抽象成...

介面與抽象類

抽象類 當抽象類作為父類時,他的子類對其中的抽象類方法有不同的方法體 簡單舉例為 classhorse mammal,ilangbound public int numeroflegs return 4 inte ce ilandbound int numberoflegs 介面例子 main函式 ...

抽象類與介面

記住抽象類與普通類的唯一區別就是不能建立例項物件和允許有abstract 方法含有abstract 修飾符的 class 即為抽象類,abstract 類不能建立的例項物件。含有 abstract 方法的類必須定義為 abstract class abstract class 類中的方法不必是抽象的...