簡體   English   中英

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

[英]What is the purpose for using an empty interface that extends another in Java?

我剛開始維護一個使用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?

是“標記界面”的一個很好的動機。 它們在面向方面的編程中特別有用,它們給你一個附加點(我猜Guice就是這樣一個框架)。

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

它可以用於標記特定用途的類。

示例: IRequiresSessionState

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM