關鍵字:
-
interface(定義一個接口)
-
implements(使用一個接口)
筆者的理解:
Cat類和Dog類有一個共同的父類Animal,而Dog類應該有一個【撿球】的方法,但是Cat沒有,而且也不是動物的共有屬性,也不是Dog的特有屬性,因為People類也有【撿球】的方法,這時就可以通過一個【撿球】接口,來讓People和Dog都實現一個撿球的功能。
注意:
- 一個類只可以繼承一個類(單繼承),但一個類可以實現多個接口。(多繼承)
- 接口內容只有常量和抽象方法
- 系統會自動讓接口變成抽象類,讓接口內的方法變成抽象方法,讓接口內的變量變成常量。
語法示例:
//定義一個接口
//修飾符一般為public,不能用private和protected
<修飾符> interface <接口名> [extends 父接口1,父接口2...]{
//零個到多個常量的定義
//零個到多個抽象方法的定義
}
//使用一個接口
<修飾符> class <類名> extends <父類> implements <接口1>,<接口2>...{
//類體部分
//如果繼承了抽象類,需要實現繼承的抽象方法;要實現接口中的抽象方法。
}
通過匿名內部類也可以實現接口
視頻鏈接:慕課Java-接口(包括接口和匿名內部類的講解)