如何自定义注解

上一篇 << 下一篇 >>>为什么重写equals还要重写hashcode方法


内置注解

(1)@SuppressWarnings 再程序前面加上可以在javac编译中去除警告--阶段是SOURCE
(2)@Deprecated 带有标记的包,方法,字段说明其过时----阶段是SOURCE
(3)@Overricle 打上这个标记说明该方法是将父类的方法重写--阶段是SOURCE

自定义注解

使用@interface定义注解,包含了其他元注解(元注解的作用就是负责注解其他注解)。
@Target
@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。
.CONSTRUCTOR:用于描述构造器
.FIELD:用于描述域
.LOCAL_VARIABLE:用于描述局部变量
.METHOD:用于描述方法
.PACKAGE:用于描述包
.PARAMETER:用于描述参数
.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention
表示需要在什么级别保存该注释信息,用于描述注解的生命周期(即:被描述的注解在什么范围内有效,一般都是RunTime),在反射的时候使用
@Documented
@Inherited

//注解定义
@Target(value = { ElementType.TYPE }) 
@Retention(RetentionPolicy.RUNTIME)
public @interface SetTable { 
    String value() default “"; 
}

//  1.反射class获得类的实例
 Class classForName = Class.forName("com.entity.Sudent"); 
// 2.通过getAnnotation方法,获得注解及使用注解里的具体方法信息等
SetTable setTable = classForName.getAnnotation(SetTable.class); 

相关文章链接:
<< << << << << << <<<为什么重写equals还要重写hashcode方法
<<<十大经典排序算法汇总-动画演示
<<

你可能感兴趣的:(如何自定义注解)