久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java中怎么自定義注解詳解

146次閱讀
沒有評論

共計(jì) 1037 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。

在 Java 中,可以使用 @interface 關(guān)鍵字來定義注解。自定義注解的語法如下:

public @interface CustomAnnotation {String value() default "";
    int number() default 0;
}

在自定義注解中,可以定義多個(gè)成員變量,并為這些成員變量指定默認(rèn)值。成員變量的類型可以是基本類型、String、枚舉、Class、注解或它們的數(shù)組。

自定義注解可以通過元注解來為注解添加元數(shù)據(jù),常見的元注解有 @Retention@Target@Documented@Inherited 等。

下面是一個(gè)使用自定義注解的示例:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Log {String value();
}

public class MyClass {@Log("methodA")
    public void methodA() {// 方法體
    }

    @Log("methodB")
    public void methodB() {// 方法體
    }
}

public class Main {public static void main(String[] args) {MyClass myClass = new MyClass();
        Method[] methods = myClass.getClass().getMethods();
        for (Method method : methods) {if (method.isAnnotationPresent(Log.class)) {Log annotation = method.getAnnotation(Log.class);
                System.out.println(annotation.value());
            }
        }
    }
}

在上述示例中,@Log是一個(gè)自定義注解,用于標(biāo)記需要記錄日志的方法。MyClass類中的 methodA()methodB()方法都使用了 @Log 注解進(jìn)行標(biāo)記。

Main 類中,通過反射獲取 MyClass 類的所有方法,并使用 isAnnotationPresent() 方法判斷方法是否使用了 @Log 注解。如果使用了 @Log 注解,則通過 getAnnotation() 方法獲取注解的值。

運(yùn)行以上代碼,輸出結(jié)果為:

methodA
methodB

這說明 methodA()methodB()方法都被成功地標(biāo)記為需要記錄日志的方法。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-13發(fā)表,共計(jì)1037字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 米泉市| 轮台县| 江源县| 襄垣县| 玉门市| 洛南县| 吕梁市| 彩票| 贵德县| 井冈山市| 昌都县| 名山县| 岳阳县| 岢岚县| 称多县| 高碑店市| 北海市| 从化市| 威信县| 高阳县| 黎川县| 广州市| 县级市| 上杭县| 柞水县| 环江| 兰溪市| 方正县| 且末县| 兰州市| 隆德县| 大宁县| 巴东县| 天峨县| 南昌市| 扎兰屯市| 和静县| 珠海市| 二手房| 彭山县| 嘉荫县|