java面試題 介面和抽象類的區別及什麼時候改呼叫

2021-08-15 06:34:34 字數 394 閱讀 7134

1、普通類可以去例項化呼叫;抽象類不能被例項化,因為它是存在於一種概念而不非具體。

2、普通類和抽象類都可以被繼承,但是抽象類被繼承後子類必須重寫繼承的方法,除非自類也是抽象類。

概念不一樣。介面是對動作的抽象,抽象類是對本質的抽象。

抽象類表示的是,這個物件是什麼。介面表示的是,這個物件能做什麼。比如,男人,女人,這兩個類(如果是類的話……),他們的抽象類是人。說明,他們都是人。人可以吃東西,狗也可以吃東西,你可以把「吃東西」定義成乙個介面,然後讓這些類去實現它。所以,在高階語言上,乙個類只能繼承乙個類(抽象類)(正如人不可能同時是生物和非生物),但是可以實現多個介面(吃飯介面、走路介面)。

使用情況:

使用方向:當你關注乙個事物的本質的時候,用抽象類;當你關注乙個操作的時候,用介面。

面試題 介面和抽象類的區別

區別 1 抽象類abstract修飾類,介面是通過inte ce宣告。1.抽象類中有普通成員變數,介面中沒有,抽象類和介面中都可以包含靜態成員變數,抽象類中的靜態成員變數的訪問型別可以任意,但介面中定義的變數只能是public static final型別,並且預設即為public static f...

面試題 抽象類和介面的區別

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

抽象類和介面的區別(面試題)

含有 abstract 修飾符的 class 即為抽象類,abstract 類不能建立例項物件。含有 abstract 方法的類必須定義為 abstract class abstract class 類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete ...