java編程思想註解總結(jdk1.8)

註解的作用

註解是一些數據,在代碼中添加在稍後某個時刻可以方便使用,稍後某個時刻分爲源代碼(SOURCE)、類文件(CLASS)、運行時(RUNTIME),我對source、class、runtime具體的時刻不清楚,但是source早於class,class早於runtime是可以肯定的;
註解最早是用來提供程序無法用java來表達的或是以前必須依賴外部文件的解決方案。

註解運行

註解的處理或者說註解起作用要用註解處理器,一般是獲取這個類的CLASS,然後通過反射提供的方法來獲取註解信息,如getDeclaredMethods(),getAnnotation(Type.class)等;
java1.8用的是javac命令 ,以前(1.5)用apt命令;
比如1.8中

@SupportedAnnotationTypes(
        "annotations.simplest.Simple")
@SupportedSourceVersion(SourceVersion.RELEASE_8)
public class SimpleProcessor
        extends AbstractProcessor {

其中@SupportedAnnotationTypes、@SupportedSourceVersion在1.5的老版中只是一個叫AnnotationProcessorFactory接口中的方法,老1.5還有一個AnnotationProcessor接口中的process方法,現在放在了AbstractProcessor 抽象類中。

通過命令可以解析註解類中的信息:
javac -processor annotations.simplest.SimpleProcessor SimpleTest.java

java編程思想1.8關於簡單的處理器連接.

註解的神奇

如果在系統構建的過程中會自動創建一些新的源文件,會檢查新生成源文件中註解,然後將所有文件一同編譯。
當註解處理器生成一個新的源文件時,該文件件會在新一輪(round,Sun文檔中這樣稱呼它)的註解處理中接受檢查。該工具會一輪一輪地處理,直到不再有新的源文件產生爲止。然後它在編譯所有的源文件。
——引用java編程思想第四版,jdk1.5

Unit註解

Unit註解在java編程思想jdk1.8版本中有提到,大概是註解處理器的PLUS版
Unit註解寫的太狠了,暫時看不懂,可以連接到這裏看看

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