2011-08-12 39 views

回答

9

的目的是讓你不需要所有方法的接口的實現更加容易。您可以擴展適配器並僅覆蓋所需的方法。這些類只是爲了方便而存在。

例如,在搖擺,實現MouseListener時,你可能不希望把所有的鼠標事件。在這種情況下,您可以擴展MouseAdapter並僅處理您感興趣的事件。

請注意,Adapter類通常也會實現該接口。

+0

啊,對不起,這是一個錯字,感謝回答。修復它 – Kobe

+0

如果你讓一個接口公開,你應該預料到人們直接實現它。至少他們中的一些人會這樣做。如果你想確保*不*破壞任何實現,請不要創建接口。只有空的方法。 –

+0

請注意,Adapter類通常實現接口以及.....如果不是總是如此。 –

2

在你發佈的例子中,如果你使適配器實現IListener(class Adapter implements IListener),它就變得更加有用了,比實例化一個Adapter對象如new Adapter();

否則,直到在接口中定義的所有方法有一個正確實施適配器將仍然是一個抽象類,不能被實例化也沒有了它的孩子。一個空的實現也是一個適當的實現。

+0

我做了這些核心,這是一個錯字。抱歉。 – Kobe

+1

這件事早你修好了,現在你只需要向2道歉:-) –

相關問題