全面解析java注解
Java中的常見注解
a.JDK中的注解
@Override 覆蓋父類或者父接口的方法
@Deprecated 表示方法已經(jīng)過時(shí)
@SuppressWarnings("deprecation") 忽略方法過時(shí)警告
b.常見的第三方注解
例如Spring中的@Autowired(自動(dòng)注入)
注解的分類
a.按照運(yùn)行機(jī)制分
1.源碼注解
注解只在源碼中存在,編譯成class文件就不存在了
2.編譯時(shí)注解
注解在源碼和class文件中都存在
eg:@Override、@Deprecated、@SuppressWarnings
3.運(yùn)行時(shí)注解
在運(yùn)行階段還起作用,甚至?xí)绊戇\(yùn)行邏輯
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; }