介面與抽象類的異同

2021-09-28 18:23:52 字數 678 閱讀 9333

1.介面與抽象類都不能例項化,他們都位於繼承的頂端,用於被其他類繼承或者實現;

2.介面與抽象類都可以包含抽象方法,實現或者繼承他們的那些子類必須都實現這些抽象方法;

介面抽象類

介面體現了一種規範,介面提供了對外服務的一些方法,當乙個程式實現介面時,介面時多個模組間的耦合標準,當多個程式實現介面時,介面是多個程式之間的通訊標準

抽象類則體現的是一種模板式設計,抽象類可以看做是乙個中間產品,該產品已經實現了部分功能,但仍然不能作為最終產品,需要更進一步的完善

只可以定義靜態常量

既可以定義普通變數,也可以定義靜態常量

不能有初始化塊

可以有初始化塊

不能有構造器

可以有構造器,但不是用於建立物件,而是讓子類呼叫完成其初始化的

不能有靜態方法

可以有靜態方法

只能有抽象方法

除了抽象方法,還可以有普通方法

乙個類可以實現多個介面

乙個類只能繼承乙個父抽象類

注:介面可以多繼承介面

abstract不能和final一起使用,並且不可以修飾變數和構造器,abstract不能和static一起使用共同修飾方法(static修飾的方法為類方法,類呼叫乙個沒有方法體的方法肯定會引起錯誤),abstract不可以和private一起使用(因為abstract修飾的方法只有被重寫才有意義)

介面與抽象類的異同點

介面與抽象類的異同點 相同點 都不能直接被例項化,必須要通過子類或實現類進行例項化。子類或實現類必須重寫全部父類的抽象方法,否則該類要被宣告為抽象類。不同點 1.關鍵字 關鍵字不同,abstract class,inte ce 2.成員變數 抽象類中的成員變數可以是常量,也可以是變數。介面中的只能是...

抽象類和介面異同

抽象類 定義 抽象類往往用來表徵對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。用 abstract 修飾的類是抽象類,抽象類是不完整的,它只能用作基類。在物件導向方法中,抽象類主要用來進行型別隱藏和充當全域性變數的角色。特徵 抽象類不能例項化。不能用...

抽象類和介面異同

本文總結了在 c 當中,介面與抽象類的一些異同,來與大家共享。1 抽象方法只作宣告,而不包含實現,可以看成是沒有實現體的虛方法 2 抽象類不能被例項化 3 抽象類可以但不是必須有抽象屬性和抽象方法,但是一旦有了抽象方法,就一定要把這個類宣告為抽象類 4 具體派生類必須覆蓋基類的抽象方法 5 抽象派生...