Java基礎 抽象類和介面的區別

2021-08-16 01:47:55 字數 496 閱讀 5979

a)宣告方法的存在而不實現它的類叫做抽象類

介面是抽象類的變體,是純抽象類

b)抽象類由關鍵字abstract來宣告

介面由inte***ce宣告

c)繼承抽象類要使用extends

實現介面要使用implements

d)抽象類可以有構造器,介面中不能有

e)抽象類可以有普通成員變數

介面中的變數預設為public static final 

f)抽象類中的抽象方法的訪問許可權可以是public protected 和預設

介面中的方法預設為public abstract

g)抽象類只能單繼承,介面可以多實現

h)抽象類中可以包含靜態方法,

介面中不能有

i)抽象類中可以有非抽象方法,

介面中不能有

j)繼承抽象類或實現介面,必須實現其中所有的抽象方法,否則其子類也是abstract型別的,

介面的子類如果介面,它們之間是繼承關係

Java基礎 抽象類和介面的區別

當子類中有一些共有的但是細節不同的行為的時候,可以對這些行為進行抽取,將這些行為抽取到父類中以抽象方法的形式展現。抽象方法所在的類一定是抽象類 抽象類不能例項化 建立物件 但是有構造方法 抽象類中可以有抽象方法也可以沒有抽象方法 抽象方法可以過載 抽象方法不可以用static final修飾 抽象方...

Java抽象類和介面的區別

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

java 抽象類和介面的區別

從語法層面上講 抽象類 1 抽象類的使用的關鍵字是abstract 2 抽象類類中能夠直接在抽象類中直接實現非抽象方法相關的預設方法的實現 3 抽象類中可以定義變數 4 再抽象類中成員中可以使用 public private protected許可權修飾 5 抽象類中可以定義自己的成員變數屬性 介面...