在Java中使用扩展另一个的空接口的目的是什么?

时间:2012-05-14 20:26:35

标签: java interface guice

我刚刚开始维护一个使用Java Guice Framework的Java MVC项目。

在几乎整个代码中,第一个开发人员作为参数传递了一个空模型接口扩展另一个接口。

这是第一个界面:

public interface FooModel extends ModelInterface {

}

另一个界面:

 public interface ModelInterface {
        public void addListener(FooListener fooListener);
        void setFoo(boolean blop);
        boolean isFoo();
    }

这对我没有任何意义。

在Java中是否有一个很好的理由/模式使用空接口?也许对于Guice来说?

3 个答案:

答案 0 :(得分:7)

Here是“标记接口”的良好动机。它们在面向方面的编程中特别有用,它们给你一个附加点(我猜Guice就是这样一个框架)。

答案 1 :(得分:3)

我知道使用空接口的唯一原因是作为标记接口。有一些例子,如java.lang.Cloneable或Serializable。

答案 2 :(得分:2)

它可用于标记特定用途的类。

示例:IRequiresSessionState