java--註解和反射--註解
阿新 • • 發佈:2021-06-26
- 什麼是註解:
-
內建註解:
-
package com.model.zhujie; import java.util.ArrayList; /** * @Description:測試類 * @Author: 張紫韓 * @Crete 2021/6/26 18:13 * * 什麼是註解(Annotation): * */ @SuppressWarnings("all") //@SuppressWarnings("all") :鎮壓警告的註釋 public class ZhuJieDemo01 { public static void main(String[] args) { }
-
-
元註解:
-
package com.model.zhujie; import java.lang.annotation.*; /** * @Description:測試類 * @Author: 張紫韓 * @Crete 2021/6/26 18:34 * * 測試元註解: */ //自定義元註解 public class ZhuJieDemo02 { @MyAnnotation public void test(){ } } @Target(value = {ElementType.METHOD,ElementType.TYPE}) //選擇自定義註解的使用地方
-
-
自定義註解:
-
package com.model.zhujie; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @Description:測試類 * @Author: 張紫韓 * @Crete 2021/6/26 18:51 * * 自定義註解 */ public class ZhuJieDemo03 { @MyAnnotation2(name = "張紫韓",age=15) //若建立的註解有宣告預設值則可以不用在這裡寫,若沒有宣告預設值則我們必須填寫他的之,否則會報錯 public void test(){ } @MyAnnotation3("張紫韓") public void test02(){ } } @Target(value = {ElementType.METHOD,ElementType.TYPE}) //定義註解的使用地方 @Retention(RetentionPolicy.RUNTIME) //定義註解的生效範圍,一般是RUNTIME @interface MyAnnotation2{ // 註解的內容: // 註解引數: 型別+引數名() :引數 String name(); int age() default 1; String address() default ""; String[] school() default {"清華大學","北京大學"}; } @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation3{ String value(); }
-