久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Java注解簡單使用實例解析

瀏覽:2日期:2022-08-30 09:45:28

作為java開發的IDE,idea的2020 社區辦還是比較好用的,比2018版的改進不少。

一個java注解的簡單例子

package main;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public @interface TestAno { enum DOMAIN{ AA, BB; public String call(String msg){ return msg + ' is called'; } } DOMAIN type();}

調用注解的例子

package main;@TestAno(type = TestAno.DOMAIN.AA)public class CallAno { public static void main(String[] args) { TestAno ano = CallAno.class.getAnnotation(TestAno.class); System.out.println(ano.type()); // AA System.out.println(TestAno.DOMAIN.AA.call('test')); // test is called }}

RetentionPolicy.SOURCE:注解只保留在源文件,當Java文件編譯成class文件的時候,注解被遺棄;

RetentionPolicy.CLASS:注解被保留到class文件,但jvm加載class文件時候被遺棄,這是默認的生命周期;

RetentionPolicy.RUNTIME:注解不僅被保存到class文件中,jvm加載class文件之后,仍然存在;

@Target:注解的作用 

@Target(ElementType.TYPE) //接口、類、枚舉 @Target(ElementType.FIELD) //字段、枚舉的常量 @Target(ElementType.METHOD) //方法 @Target(ElementType.PARAMETER) //方法參數 @Target(ElementType.CONSTRUCTOR) //構造函數 @Target(ElementType.LOCAL_VARIABLE)//局部變量 @Target(ElementType.ANNOTATION_TYPE)//注解 @Target(ElementType.PACKAGE) ///包 @Inherited:說明子類可以繼承父類中的該注解

注解也可用于一些解耦的應用,框架去調用接口的多個實現類。實現類的類名和路徑可能會變,只要注解不變。對框架來說是沒變的,框架的邏輯可以不變。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 绥德县| 化德县| 吉安市| SHOW| 嵊泗县| 凤山县| 澄城县| 佛冈县| 平遥县| 阿克| 武功县| 德庆县| 嘉禾县| 东乌珠穆沁旗| 黑龙江省| 乳源| 安多县| 星子县| 辛集市| 忻城县| 古蔺县| 伊通| 东光县| 石台县| 宕昌县| 涞源县| 应城市| 合江县| 瑞丽市| 综艺| 池州市| 额济纳旗| 漯河市| 全州县| 佛山市| 吉首市| 浑源县| 阿克苏市| 陆良县| 武陟县| 微博|