這節(jié)講的兩種方式的對(duì)比吧?一是,直接聲明一個(gè)接口,然后定義一個(gè)類(lèi)來(lái)實(shí)現(xiàn)接口。要使用這個(gè)接口,就是聲明接口,然后將他的引用指向我們定義來(lái)實(shí)現(xiàn)接口的類(lèi)。二是,通過(guò)匿名類(lèi)來(lái)實(shí)現(xiàn)接口,使用時(shí)就是創(chuàng)建本類(lèi)的對(duì)象,然后對(duì)象訪問(wèn)自身的匿名類(lèi)。
我這樣的表述是不是有錯(cuò)?
接口之前沒(méi)講到,完全沒(méi)概念,放這里好難理解。
為什么接口要用一個(gè)類(lèi)的實(shí)現(xiàn)?接口為什么是在類(lèi)外聲明的?
如果是為了方便接口的實(shí)現(xiàn)而用匿名類(lèi),這樣的話,為什么又要說(shuō)匿名類(lèi)一般只使用一次?是指用來(lái)實(shí)現(xiàn)接口這一次對(duì)吧?實(shí)現(xiàn)之后我用的就都是叫接口,跟匿名類(lèi)沒(méi)半點(diǎn)關(guān)系了對(duì)吧?
2014-08-23
為什么接口要用一個(gè)類(lèi)的實(shí)現(xiàn)?
接口的初期可以理解為一個(gè)抽象的父類(lèi),也是抽取出來(lái)的子類(lèi)的共同屬性和方法,不過(guò)方法都是抽象的。Java只支持單繼承,所以用接口多實(shí)現(xiàn)的方式間接支持多繼承。
接口為什么是在類(lèi)外聲明的?
接口本身就是特殊的的類(lèi)。
為什么又要說(shuō)匿名類(lèi)一般只使用一次?
匿名內(nèi)部類(lèi)的出現(xiàn)只有一個(gè)用處,就是簡(jiǎn)化書(shū)寫(xiě),優(yōu)化代碼。因?yàn)橹皇褂靡淮?,所以再定義一個(gè)類(lèi)會(huì)浪費(fèi)空間資源,也可以簡(jiǎn)化書(shū)寫(xiě)。
就醬~~~~~