抽象類和介面

2022-03-13 10:23:36 字數 612 閱讀 1025

簡單來說,

介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,

另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。

還有,介面可以實現多重繼承,而乙個類只能繼承乙個超類,但可以通過繼承多個介面實現多重繼承,介面還有標識(裡面沒有任何方法,如remote介面)和資料共享(裡面的變數全是常量)的作用.

介面就跟u盤的usb介面一樣,可以插拔。。

當你要完成乙個功能的時候,兩個事物聯絡不大,可以用介面。

抽象類著重繼承關係。如果兩個東西可以看成繼承關係,用抽象類。

你要弄乙個有警報器的門。

你可以定義乙個抽象door類,門有close和open的方法。也定義到這個抽象類裡。

但這個警報器,跟門一般關係不大。。所以,你可以用介面.

然後這個帶警報器的門就可以是繼承door這個類並實現警報器介面。

這種選擇還是得具體問題具體分析。

用得多了,自然就熟了。。就會產生**感,如果用得不太好,就會覺得彆扭。

沒必要去過多的追究這些小細節。。

介面和抽象類

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

抽象類和介面

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

抽象類和介面

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