Java中抽象類和介面的區別

2021-07-04 18:11:49 字數 366 閱讀 6996

區別一,兩者表達的概念不一樣。抽象類是一類事物的高度聚合,那麼對於繼承抽象類的子類來說,對於抽象類來說,屬於「是」的關係;而介面是定義行為規範,因此對於實現介面的子類來說,相對於介面來說,是「行為需要按照介面來完成」。

區別二,抽象類在定義型別方法的時候,可以給出方法的實現部分,也可以不給出;而對於介面來說,其中所定義的方法都不能給出實現部分。

區別三,繼承類對於兩者所涉及方法的實現是不同的。繼承類對於抽象類所定義的抽象方法,可以不用重寫,也就是說,可以延用抽象類的方法;而對於介面類所定義的方法或者屬性來說,在繼承類中必須要給出相應的方法和屬性實現。

區別四,在抽象類中,新增乙個方法的話,繼承類中可以不用作任何處理;而對於介面來說,則需要修改繼承類,提供新定義的方法。

java中抽象類和介面的區別

1 概念 抽象類 abstract class 宣告方法的存在但不去實現它的類叫做抽象類。抽象類中可以有實現了的方法,也可以沒有實現了的方法 抽象類中可以沒有抽象的方法,但有抽象方法的類一定是抽象類。抽象類與普通類最大的區別是它不能被直接例項化,只能通過子類間接例項化。介面 inte ce 是抽象類...

JAVA 中 抽象類和介面的區別

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

java中抽象類和介面的區別

在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把它...