Java 語言中的類、方法、變量、參數(shù)和包等都可以被標注。
內置的注解
Java 定義了一套注解,共有 7 個,3 個在 java.lang 中,剩下 4 個在 java.lang.annotation 中。
- 作用在代碼的注解是
- @Override - 檢查該方法是否是重寫方法。如果發(fā)現(xiàn)其父類,或者是引用的接口中并沒有該方法時,會報編譯錯誤。
- @Deprecated - 標記過時方法。如果使用該方法,會報編譯警告。
- @SuppressWarnings - 指示編譯器去忽略注解中聲明的警告。
- 作用在其他注解的注解(或者說 元注解)是:
- @Retention - 標識這個注解怎么保存,是只在代碼中,還是編入class文件中,或者是在運行時可以通過反射訪問。
- @Documented - 標記這些注解是否包含在用戶文檔中。
- @Target - 標記這個注解應該是哪種 Java 成員。
- @Inherited - 標記這個注解是繼承于哪個注解類(默認 注解并沒有繼承于任何子類)
Annotation 的作用
Annotation 是一個輔助類,它在 Junit、Struts、Spring 等工具框架中被廣泛使用。
1)編譯檢查
Annotation 具有"讓編譯器進行編譯檢查的作用"。
例如,@SuppressWarnings, @Deprecated 和 @Override 都具有編譯檢查作用。
在反射中使用 Annotation
在反射的 Class, Method, Field 等函數(shù)中,有許多于 Annotation 相關的接口。根據(jù) Annotation 生成幫助文檔
通過給 Annotation 注解加上 @Documented 標簽,能使該 Annotation 標簽出現(xiàn)在 javadoc 中。能夠幫忙查看查看代碼
通過 @Override, @Deprecated 等,我們能很方便的了解程序的大致結構。