回答
標記接口用作標記來通知消息給java編譯器,以便它可以爲實現它的類添加特殊行爲。
Java標記接口中沒有成員。
Ex。 1. java.io.Serializable是標記接口。
- java.lang.Cloneable
爲什麼不呢?但它與JVM沒有任何關係。
interface MarkerInterface { }
class MarkerInterfaceImpl implements MarkerInterface {
...
}
public class MarkerInterfaceDemo {
public static void main(String[] args){
MarkerInterfaceImpl markerInterfaceImpl = new MarkerInterfaceImpl()[
if(markerInterfaceImpl instanceOf MarkerInterface) {
...
}
}
}
的Marker interface pattern(從維基百科的文章)提供元數據類,其中語言沒有這樣的元數據的明確支持相關聯的一種手段。例如java.io.Serializable
。一個類實現Serializable
接口,以指示其非瞬態數據成員可寫入ObjectOutputStream
。
如果您仔細觀察Java中的標記接口,例如可串行化,可Clonnable和遠程它看起來它們用於向編譯器或JVM指示某些東西。因此,如果JVM看到一個Class是Serializable,它就對它做了一些特殊的操作,類似的方式如果JVM看到一個Class是Clonnable,它執行一些操作來支持克隆。 RMI和遠程接口也是如此。在最簡單的標記界面中,向編譯器或JVM發出信號或命令。
- >實際上,我們可以創建一個接口,如標記接口,但沒有方法聲明,但它根本不是標記接口,因爲它並不指示JVM在我們的程序中爲類提供某些特殊行爲將要執行。
例如:Serializable接口,Cloneable的etc..are標記接口
當我的程序得到exceuted,JVM提供了一些特殊的權力,以我的課已經實施了標記接口。
標記接口用作標記來通知消息給java編譯器,以便它可以爲實現它的類添加特殊行爲。 Java標記接口中沒有成員。
java.io.Serializable是一個標記接口。對這個接口進行類型化的意思是類似於以某種方式表示java編譯器,以至於有可能序列化這個java類。
您可以創建自己的標記界面。只需創建一個界面,不需要在內部寫任何東西
假設你已經創建了Editable
標記接口,並創建了很多實現這個Editable
的類,當一些程序員使用你的類時,他會從javadoc知道你的類是可編輯的。
- 1. java中的標記接口
- 2. Java中的標記接口
- 3. java中的標記接口
- 4. 到底是什麼MyClassName.class在Java中
- 5. 什麼是java中的靜態接口?
- 6. 什麼是Java中的接口?
- 7. 什麼是Java中的回調接口?
- 8. Java的標記接口
- 9. java api中接口命名的標準是什麼
- 10. java服務器端到底是什麼?
- 11. java.nio.file.CopyOption接口的目標是什麼?
- 12. 到底是什麼的baseUrl
- 13. 什麼是session_reset()到底是什麼?
- 14. 什麼是MIME?它到底是什麼?
- 15. Java:什麼是接口不一致?
- 16. Java:什麼是compareTo接口語義?
- 17. 是什麼接口
- 18. 什麼是接口
- 19. 什麼是接口?
- 20. GitHub中的發佈到底是什麼?
- 21. 綁定到底是什麼?
- 22. 到底是什麼模64
- 23. SSRS到底是什麼?
- 24. Java中的接口Comparable比較什麼?
- 25. 爲什麼Java接口
- 26. c中的標記接口#
- 27. 標記接口
- 28. 淺層克隆中的「嫁接」提交到底是什麼?
- 29. 什麼是「標記的DFA」?
- 30. 什麼是Java中的「記錄器」?
您可以自由,只要編譯器不會抱怨界定什麼? – Kartic
http://stackoverflow.com/questions/25850328/marker-interfaces-in-java – BatScream