ITPub博客

首页 > IT职业 > IT图书 > Annotation 注解笔记

Annotation 注解笔记

IT图书 作者:gjfer 时间:2021-09-09 09:05:25 0 删除 编辑
简介

1)开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息。可以用来修饰类、属性、方法,并且不影响程序的运行,无论是否使用Annotation代码都可以正常执行。

2)接口

import java.lang.annotation.Annotation
系统内建的Annotation

1)@Override:主要的实在覆写的时候使用,用于保证覆写方法的正确性。

2)@Deparecated:主要功能是用来申明一个建议使用的方法。如果在程序中使用了该方法,则在编译的时候出现警告信息。

3)@SuppressWarning主要功能是用来压制警告。

自定义的Annotation

1)定义一个简单的Annotation

[public] @interface Annotation 名称{
    数据类型 数据变量();
}

2)向Annnotation中设置内容

public @interface MyDefaultAnnotationMoreParam{
    public String key();    //接收设置变量
    public String value();
@MyDefaultAnnotationMoreParam("name","张三");    //使用自定义的Annotation
calss Dome{
}

3)默认值:只要在定义Annotation时设置了属性,就必须在使用时设定它们的属性。

public @interface MyDefaultAnnotationMoreParam{
    public String key() default "baidu";    //接收设置的内容
    public String value();

4)使用枚举限制设定的内容

public enum Browser{
    baidu,firefox,google
}
Retention和RetentionPolicy

Retention定义一个Annotation的保存范围。Retention定义存在一个RetentionPolicy的变量。

RetentionPolicy变量范围

1)SOURCE:保留在程序的源文件中(.java),编译成功之后不会保留在类文件中(.class)。

2)CLASS:保存在源文件和类文件中,不会被加载到虚拟机(JVM)中,如果没有指定范围,则默认是此值。

3)RUNTIME:保存在源文件和类文件中,在执行时会加载到虚拟机中。

通过反射取得Annotation

1)可以取得全部的Annotation

2)可以取得指定的Annotation的内容

@Target

对一个自定义的Annotation能在指定的位置出现。

@Documented

对一个自定义的Annotation进行注释。

@Inherited注释

用于标志一个父类注释是否可以被子类所继承。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3789/viewspace-2807982/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-26

  • 博文量
    0
  • 访问量
    833