關(guān)于接口配合匿名內(nèi)部類來(lái)使用的問(wèn)題
IPlayGame?i?=?new?IPlayGame(){ ????public?void?playGame(){ ????System.out.println("用匿名內(nèi)部類的方式實(shí)現(xiàn)接口"); ????} ?};
以上的代碼,可不可以理解為通過(guò)一個(gè)IPlayGame接口的引用指向一個(gè)沒(méi)有名字但是通過(guò)重寫playGame()方法成功實(shí)現(xiàn)了IPlayGame接口的匿名內(nèi)部類中的一個(gè)對(duì)象?
new?IPlayGame(){ ????public?void?playGame(){ ????System.out.println("用匿名內(nèi)部類的方式實(shí)現(xiàn)接口"); ????} ?}.playGame();
這一段是不是可以理解為通過(guò)一個(gè)沒(méi)有名字但是通過(guò)重寫playGame()方法成功實(shí)現(xiàn)了IPlayGame接口的匿名內(nèi)部類中的一個(gè)對(duì)象直接調(diào)用playGame()方法?
還請(qǐng)高人賜教。
2015-02-13
你說(shuō)的是對(duì)的,匿名內(nèi)部類也就是沒(méi)有名字的內(nèi)部類,正因?yàn)闆](méi)有名字,所以匿名內(nèi)部類只能使用一次,它通常用來(lái)簡(jiǎn)化代碼編寫,但使用匿名內(nèi)部類還有個(gè)前提條件:必須繼承一個(gè)父類或?qū)崿F(xiàn)一個(gè)接口。
舉例:
2017-01-08
為什么你定義的接口中的方法eat()不是抽象的,定義在接口中的方法不應(yīng)該都是抽象的嗎?