2011-08-12 40 views

回答

9

的目的是让你不需要所有方法的接口的实现更加容易。您可以扩展适配器并仅覆盖所需的方法。这些类只是为了方便而存在。

例如,在摇摆,实现MouseListener时,你可能不希望把所有的鼠标事件。在这种情况下,您可以扩展MouseAdapter并仅处理您感兴趣的事件。

请注意,Adapter类通常也会实现该接口。

+0

啊,对不起,这是一个错字,感谢回答。修复它 – Kobe

+0

如果你让一个接口公开,你应该预料到人们直接实现它。至少他们中的一些人会这样做。如果你想确保*不*破坏任何实现,请不要创建接口。只有空的方法。 –

+0

请注意,Adapter类通常实现接口以及.....如果不是总是如此。 –

2

在你发布的例子中,如果你使适配器实现IListener(class Adapter implements IListener),它就变得更加有用了,比实例化一个Adapter对象如new Adapter();

否则,直到在接口中定义的所有方法有一个正确实施适配器将仍然是一个抽象类,不能被实例化也没有了它的孩子。一个空的实现也是一个适当的实现。

+0

我做了这些核心,这是一个错字。抱歉。 – Kobe

+1

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

相关问题