除了可读性之外,空接口的目的是什么?

时间:2014-11-01 14:26:22

标签: java interface

让我用一个例子来解释我的意思。

我有通常的subscribe-post事件系统,其中事件处理程序是带有注释@EventHandler或其他东西的方法(在我的情况下是@EventSubscribe,但是whatevers),它们有一个类型的参数是类Event

的子类
@EventHandler
public void onSomeEvent(SomeEvent event)
{
    //code here
}

现在,在其他人的subscribe-post事件系统版本中,我看到一个空接口Listener或类似的东西,你可以想象基本上是这样的:

public interface Listener {}

扩展Listener的类应该包含@EventHandler的方法,因为它们的EventBus(或者它们可能称之为EventManager)只能使用Listener来获取它们的注册表方法。

在我的版本中,我试图放弃Listener的想法,让我的EventBus将对象用于他们的注册表方法,这种做法和我尝试过的一样好。

现在,我知道有一个Listener接口会让它更容易阅读,因为扩展它们的类会立即被识别为包含事件处理程序,但我只是想知道它们是否还有其他任何好处,因为所以我可以完全没有那种界面。

PS:为了将来参考,是否有空接口的特殊名称,或以这种方式使用的空接口?

0 个答案:

没有答案