您好,登錄后才能下訂單哦!
全面解析java注解
Java中的常見注解
a.JDK中的注解
@Override 覆蓋父類或者父接口的方法
@Deprecated 表示方法已經過時
@SuppressWarnings("deprecation") 忽略方法過時警告
b.常見的第三方注解
例如Spring中的@Autowired(自動注入)
注解的分類
a.按照運行機制分
1.源碼注解
注解只在源碼中存在,編譯成class文件就不存在了
2.編譯時注解
注解在源碼和class文件中都存在
eg:@Override、@Deprecated、@SuppressWarnings
3.運行時注解
在運行階段還起作用,甚至會影響運行邏輯
eg:@Autowired
b.按照來源分
1.來自JDK的注解
2.來自第三方的注解
3.自定義注解
c.元注解:注解的注解
自定義注解
1.自定義注解的語法要求
import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented public @interface Description { String desc(); String author(); int age() default 18; }
注意:
2.元注解
a.@Target({ElementType.METHOD,ElementType.TYPE})
注解的作用域:
b.@Retention(RetentionPolicy.RUNTIME)
注解的生命周期:
c.@Inherited
標識性的元注解:允許子類繼承
d.@Documented
生成javadoc時會包含注解
使用自定義注解
語法:@注解名(成員1=成員值1,成員2=成員值2)
@Description(desc="I am demo",author="boy",age=18) public void demo(){}
解析注解
概念:通過反射獲取類、函數或成員上的運行時注解信息,從而實現動態控制程序運行的邏輯
以上就是java 注解的實例詳解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。