Java注解基础

0.背景

   Java注解--Annotation产生于JDK5。作为code的特殊“标记”,注解可以在编译、类加载、运行时被读取,并执行处理。

   开发利用注解在源码中嵌入补充信息,工具(代码分析、开发、部署工具等)通过这些信息验证、处理或部署。

1.定义Annotation

  使用关键字 @interface,与定义接口类似,如:

1 public @interface Test{  
2 }  

 使用注解,单独一行,如:

1 @Test  
2 public class MyClass{  
3 ....  
4 }  

1.1 成员变量

 注解只有成员变量,没有方法。成员变量以“无形参方法”形式定义,如下 name、age是变量名,其类型分别是String,int

1 public @interface MyTag{  
2     string name();  
3     int age();  
4 }  

如果定义变量,在使用时必须赋值,也可以定义时指定默认值。

1 public @interface MyTag{  
2     string name() default "我兰";  
3     int age() default 18;  
4 }

根据是否包含成员变量,注解分为  标记 和 元数据 两类。标记元Annotation 仅仅用自身存在提供信息,如@override;元数据Annotation 可以携带更多数据。

1.2 元注解

    元注解(JDK提供),可以修饰注解定义。JDK提供4个元注解,此处不详细介绍,如下:

   @Retention

   @Target

   @Documented

   @Inherited

1.3 基本注解

    JDK提供如下基本注解:

    @Override 

   限定重写父类方法。子类中被@Override 修饰的方法,如果存在对应的被重写的父类方法,则正确;如果不存在,则报错;

   @Deprecated

   表示某个程序元素(类、方法等)已过时。

   @SuppressWarning

   抑制编译器警告。例如 @SuppressWarning(value="unchecked")

  @SafeVarargs

  JDK 7 专门为抑制“堆污染”警告提供的。

 

 

 

 

 

 

  

posted @ 2018-04-25 17:11  A.ArmStrong  阅读(161)  评论(0编辑  收藏  举报