1樓:加百列
區別如下:
1、使用方面:
類在繼承抽象類的時候,非abstract方法和屬性都繼承,同時abstract方法幫忙實現。
類在使用介面就像是一個模組化的機器,安上個音訊介面,內部就得做個功放功能。設計好之後要按什麼介面就得有什麼功能。
2、結構方面:
抽象類的更像是一種樹形結構,一個抽象類的範圍就是下面的子類,別的管不著也沒必要管。
介面的更像是一種層間結構,上層跟下層的溝通辦法就是這個介面,上層想怎麼呼叫就按照介面呼叫就行。
3、在邏輯方面:
按照邏輯順序,一般先設計了介面,後寫類,又因為類變多了,才抽象出了抽象類方便寫更多的類。
介面定義了類的功能,抽象類抽象出了一些類的特徵。
4、在**書寫方面:
抽象類提高了類和類的內聚程度,減少了**量。
介面降低了類和類的耦合度,但是增加了**量。
2樓:jlu小米
介面中,只有方法,沒有定義,這就要求實現介面必須定義實現介面中所有的方法,但繼承則不然,此其一
一個類,只能繼承自一個基類,但是可以實現多個介面,此其二;
如果對抽象類理解不錯的話,你可以吧介面看成一個極度的抽象類,沒有實現任何方法;
3樓:輔國兵馬大都督
很不相同。實現介面,就必須覆蓋實現介面的方法。而繼承就不一定。
而且介面和類本身就有區別。
4樓:小林學子
這樣理解當然不對了,介面定義方法,而沒有具體的實現。
b類實現了a介面,就是b類把a介面中定義的所有方法都實現了;a介面定義的方法在b類中一個都不能少,都要去具體實現。
x類繼承了y類,x類就可以直接使用y類中的方法(不用去實現y類中的方法,方法已經實現了,當然抽象類例外哦)。
j**a 實現介面和繼承有什麼區別
5樓:千鋒教育
1,一個類只能繼承一個類,但是可以實現多個介面。
2,依賴倒轉原則: 依賴抽象(例如介面),不要依賴於實現。
3,合成/聚合複用原則(carp): 儘量使用合成/聚合,而不是繼承關係達到複用的目的。
4,介面傳達的意思是:擁有某種功能,能幹嘛,比如:serializable代表可序列化的。
5,繼承傳達的是意思是:is-a,比如:貓 是一個 動物,貓就是動物的子類。
6樓:寶石藍般的幸福
繼承除了抽象方法還有普通方法,介面只有抽象方法繼承的成員變數無限制,介面的成員變數必須是常量,即用public static final修飾
繼承有構造方法,但不能進行例項化,介面沒有構造方法繼承只可以單繼承,介面可以多實現
j**a中,介面繼承介面時,用implements與extends有什麼區別?
7樓:匿名使用者
類實現介面,用implements
介面繼承用 extends
類繼承類,用extends
8樓:匿名使用者
介面是繼承介面的
類是實現介面的
axz1546963說的對
9樓:匿名使用者
去看下jdk的api文件
java開發的專案中模組 包 類 介面的關係是什麼
一個功能模組中有多個包 一對多 一個包中可以有多個類 一對多 一個類 介面類,inte ce 中可以有多個抽象方法 一對多 一個類 實現類,繼承 extends 自介面類 中可以有多個方法 一對多 解釋 這個實際上是逐級細分的過程就相當於一個國家,有各個等級學歷的學校,學校中可以有多個年級,每個年級...
繼承和贈與的區別繼承和贈與有什麼區別?
贈與與贈予含義相同。兩者都是是贈與人將自己的財產無償給予受贈人 受贈人表示接受的一種行為。這種行為的實質是財產所有權的轉移。兩者的區別如下 1.贈與需要有當事人雙方一致的意思表示才能成立。如果一方有贈與意願,而另一方無意接受該贈與的,贈與合同不能成立 贈予只有一方的給予 不需要另一方的接受與否,只要...
子類和父類的轉換謝謝,Java基礎父類強制轉換成子類,錯誤
我認為是你沒加修飾符的原因。沒加的話預設是freind。關於強制轉換,就是介面和父子類這些的控制代碼處理。這些在課本上有動手練練就熟了。這個問題提的很好,動手能力也很強啊!贊一個。父類實體永遠不可能轉換成子類引用成功。父類引用的實體本身是子類例項時能轉換為子類引用。子類實體可以用父類型別引用,也可以...