Java 抽象類 和 介面 的常見問題

2021-07-30 09:24:10 字數 631 閱讀 9475

1. 抽象類可以有建構函式嗎?

抽象類 可以有建構函式,但不顯式呼叫;因為抽象類不能直接例項化,也就是不能 new,

所以如果 abstract class 有構造方法,繼承它的子類,必須在其構造方法中通過 super(...) 呼叫。

2. abstract 類可以例項化嗎?

不可以直接例項化,只能被繼承;

3.system class 中 inputstream in; 為什麼可以宣告 inputstream 的物件?

inputstream 是 abstract class ,此處用到了多型性,即父類引用指向子類物件;

實際使用中,in 獲取的是 inputstream 的子類物件。

4. abstract class 可以沒有 abstract 方法,但是有 abstract 方法的類必須宣告為 abstract 類;

5. abstract class 單繼承;

6. inte***ce 沒有建構函式,不能例項化物件;

7. inte***ce 是特殊的 abstract 類,但支援多 extends (乙個介面可有多個父介面);

8. inte***ce 所有的方法都是public abstract;變數都是public static final型別。

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

Java抽象類和介面的區別

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

java 抽象類和介面的理解

在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把它...