4.java接口
一個實現接口的類,必須實現接口內所描述的所有方法,否則就必須聲明為抽象類。
接口與類相似點:
- 一個接口可以有多個方法。
- 接口文件保存在 .java 結尾的文件中,文件名使用接口名。
- 接口的字節碼文件保存在 .class 結尾的文件中。
- 接口相應的字節碼文件必須在與包名稱相匹配的目錄結構中。
接口與類的區別:
- 接口不能用于實例化對象。
- 接口沒有構造方法。
- 接口中所有的方法必須是抽象方法。
- 接口不能包含成員變量,除了 static 和 final 變量。
- 接口不是被類繼承了,而是要被類實現。
- 接口支持多繼承。
接口特性
- 接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定為 public abstract(只能是 public abstract,其他修飾符都會報錯)。
- 接口中可以含有變量,但是接口中的變量會被隱式的指定為 public static final 變量(并且只能是 public,用 private 修飾會報編譯錯誤)。
- 接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。
抽象類和接口的區別
- 1. 抽象類中的方法可以有方法體,就是能實現方法的具體功能,但是接口中的方法不行。
- 2. 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是 public static final 類型的。
- 3. 接口中不能含有靜態代碼塊以及靜態方法(用 static 修飾的方法),而抽象類是可以有靜態代碼塊和靜態方法。
- 4. 一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。
一個接口能繼承另一個接口,這和類之間的繼承比較相似。
當一個接口繼承了另外一個或多個接口,那么實現這個接口的類就必須要實現這些接口的所有方法。
在Java中,類的多繼承是不合法,但接口允許多繼承。
在接口的多繼承中extends關鍵字只需要使用一次,在其后跟著繼承接口。
標記接口????? 使用之后再體會一下。。
總結
- 上一篇: 3.JAVA中的多态
- 下一篇: 5.java中的包