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