乾坤外掛編寫免費教程-同意加機器人好友外掛-含原始碼
阿新 • • 發佈:2020-10-05
描述
- Annotation是從JDK5.0開始引入的新技術
- 不是程式碼,也不是註釋,但是能夠被編譯器讀取識別,起程式說明作用
- 作用在包、類、介面、屬性和方法上
元註解
元註解的作用就是負責註解其它註解,Java定義了四個meta-annotation型別,它們被用來提供對其它annotation作說明
這些型別和它們支援的類在java.lang.annotation包中可以找到:
- @Target:用於描述註解的使用範圍(即被描述的註解可以用在什麼地方)
- @Retention:表示需要在什麼級別儲存該註釋資訊,用於描述註解的生命週期
- SOURCE<CLASS<RUNTIME
- @Document:說明該註解將被包含在javadoc中
- @Inherited:說明子類可以繼承父類中的該註解
內建註解
@Override:定義在java.lang.Override中,此註釋只適用於修辭方法,表示一個方法宣告打算重寫超類中的另一個方法宣告
@Deprecated:定義在java.lang.Deprecated中,此註釋可以用於修辭反覆,屬性,類,表示不鼓勵程式猿使用這樣的元素。通常是因為它很危險或者存在更好的選擇
@SuppressWarnings:定義在java.lang.SuppressWarnings中,用來抑制編譯時的警告資訊。與前兩個註釋不同,該註釋必須加一個引數才能正確使用,這些引數都是已經定義好了的。
自定義註解與反射解釋
public class App {
@MyAnnotation
public void test(){}
}
@Target(value = {ElementType.METHOD,ElementType.TYPE})
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
@Inherited
@interface MyAnnotation{
}
使用@Interface自定義註解時,自動繼承了java.lang.annotation.Annotation介面
- @interface用來宣告一個註解,格式:@interface 註解名
- 其中的每一個方法實際上是聲明瞭一個配置引數
- 方法的名稱就是引數的名稱
- 返回值型別就是引數的型別,返回值只能是基本型別(Class,String,enum)
- 可以通過default來宣告引數的預設值,聲明後可以不賦值
- 如果只有一個引數成員,一般引數名為value
- 註解元素必須要有值,我們定義註解元素時,經常使用空字串,0作為預設值