Adr*_*ian 4 java design-patterns adapter
可以说我有这个界面和类:
interface IListener
{
void f();
void g();
void h();
}
class Adapter implements IListener
{
void f() {}
void g() {}
void h() {}
}
Run Code Online (Sandbox Code Playgroud)
如果它们什么也不做,那么实现thoose接口方法有什么意义呢?
问题来自设计模式Java工作簿.
Viv*_*sse 10
目的是如果您不需要所有方法,可以使界面的实现更容易.您可以扩展适配器并仅覆盖您想要的方法.这些类仅为方便起见而存在.
例如,在Swing中,实现a时MouseListener
,您可能不希望处理所有鼠标事件.在这种情况下,您可以扩展MouseAdapter
和处理您感兴趣的事件.
请注意,Adapter
该类通常也实现了该接口.