Java中的幾種標識接口

      標識接口是沒有任何方法和屬性的接口.它僅僅表明它的類屬於一個特定的類型,供其他代碼來測試允許做一些事情.使用標記接口的唯一目的是使得可以用instanceof進行類型查詢,例如:if(obj instanceof Cloneable) {………}
      一些容器例如Ejb容器,servlet容器或運行時環境依賴標記接口識別類是否需要進行某種處理,比如serialialbe接口標記類需要進行序列化操作.

java.io.Serializable:未實現此接口的類將無法使其任何狀態序列化或反序列化.爲保證 serialVersionUID 值跨不同 java 編譯器實現的一致性,序列化類必須聲明一個明確的 serialVersionUID 值.

java.lang.Cloneable:表明Object.clone()方法可以合法地對該類實例進行按字段複製.實現此接口的類應該使用公共方法重寫 Object.clone(它是受保護的).如果在沒有實現 Cloneable 接口的實例上調用 Object 的 clone 方法,則會導致拋出 CloneNotSupportedException 異常.

java.util.RandomAccess:用來表明其支持快速(通常是固定時間)隨機訪問.此接口的主要目的是允許一般的算法更改其行爲,從而在將其應用到隨機或連續訪問列表時能提供良好的性能.

java.rmi.Remote:Remote 接口用於標識其方法可以從非本地虛擬機上調用的接口.任何遠程對象都必須直接或間接實現此接口.只有在“遠程接口”(擴展 java.rmi.Remote 的接口)中指定的這些方法纔可遠程使用.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章