抽象類和介面

2021-10-04 17:25:15 字數 900 閱讀 8615

抽象類(abstract class):

public abstract class demo1
抽象類中的抽象方法需要被繼承(extends)重寫,實現方法的例項化;

抽象類可以存在構造器,抽象方法和具體方法;修飾符為public、default、protected和private;可以定義成員變數;

介面(inte***ce):

public inte***ce demo2
介面中的方法均為預設的public抽象方法,需要實現(implements)重寫進行例項化;介面中不能定義構造器;定義的成員變數均為常量;

dao就是資料庫或其他持久化機制提供抽象介面的物件,當需要和資料來源進行互動的時候則使用這個介面,並且編寫乙個單獨的類來實現這個介面,在邏輯上該類對應乙個特定的資料儲存。

拓展:a、介面可以繼承介面,可以多重繼承,抽象類可以實現介面,抽象類可繼承具體類也可以繼承抽象類。

b、重寫和過載

方法重寫:子類繼承父類並重寫父類中已有的或抽象的方法,實現的是執行時的多型性;重寫時,方法名和引數部分一定是相同的,訪問修飾符範圍要大於等於父類,因為子類重寫父類方法是為了擴充套件父類的功能;返回值型別如果是基本資料型別和void型別,則必須相同。引用資料型別的話範圍要小於等於父類。

方法過載:發生在乙個類中,實現的是編譯時的多型性;過載的方法為名稱相同,但傳參的引數型別不同、引數個數不同或者二者都不同。

過載主要體現在構造器,類中和構造器同名的方法,他們之間為過載。

構造器:方法名和類名相同,沒有返回值,並且不能用void,引數可有可無。如果類中沒有帶引數的構造器,那我們可以使用乙個隱藏的預設構造器來建立物件,如果類中有帶引數的構造器,那預設的構造器就會被覆蓋

介面和抽象類

介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...

抽象類和介面

抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...

抽象類和介面

1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...