您好,登錄后才能下訂單哦!
@Target(value=ElementType.METHOD) //意味著注解只能用在方法前面
@Retention(RetentionPolicy.RUNTIME) //注解在運行時有效,即可以被反射讀取
public @interface My {
//注解內包含的是參數的信息,不是方法,比如定義了一個String類型的name變量
String name() default ""; //加默認值,通常為0或空字符串,默認值為-1表示不存在
int age() default 0;
int id() default -1;
//定義一個數組
String[] s() default {"me","you"};
}
value值可以定義為一個數組,以下表示可以在方法和類前使用注解
@Target(value= {ElementType.METHOD,ElementType.TYPE})
public @interface my2{
}
如果注解里只有一個參數,通常定義為value
@Target(value= {ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface My2 {
//如果注解里只有一個參數,通常定義為value
String value() default "";
}
main
public class Demo {
@My(age=19,name="me",id=10,s= {"it","that"}) //顯示指定相應的值,可通過反射讀取
public void test()
{
}
//注解只有一個參數時
@My2(value="aaa")//或者 @My2("ada")
public void test2()
{
}
public static void main(String[] args) {
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。