溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java 自定義注解

發(fā)布時間:2020-06-30 01:07:03 來源:網(wǎng)絡(luò) 閱讀:829 作者:wx5d21d5e6e5ab1 欄目:編程語言
@Target(value=ElementType.METHOD)  //意味著注解只能用在方法前面
@Retention(RetentionPolicy.RUNTIME)  //注解在運行時有效,即可以被反射讀取
public @interface My {
    //注解內(nèi)包含的是參數(shù)的信息,不是方法,比如定義了一個String類型的name變量
    String  name() default "";  //加默認值,通常為0或空字符串,默認值為-1表示不存在
    int age() default 0;
    int id() default -1;
    //定義一個數(shù)組
    String[] s() default {"me","you"};
}

value值可以定義為一個數(shù)組,以下表示可以在方法和類前使用注解

@Target(value= {ElementType.METHOD,ElementType.TYPE})
public @interface my2{

}

如果注解里只有一個參數(shù),通常定義為value

@Target(value= {ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface My2 {
    //如果注解里只有一個參數(shù),通常定義為value
    String value() default "";
}

main

public class Demo {

    @My(age=19,name="me",id=10,s= {"it","that"})  //顯示指定相應(yīng)的值,可通過反射讀取
    public void test()
    {

    }
    //注解只有一個參數(shù)時
    @My2(value="aaa")//或者 @My2("ada")

    public void test2()
    {

    }
    public static void main(String[] args) {

    }

}
向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI