注解的使用(自定义注解)

定义位置一)和类并列的位置(不常用,此处不具体写了)

定义位置二)单独写一个包 包里写自定义的注解(常用,此处具体写)

1、单独的一个包anno下新new一个Annotation类

2、定义自定义注解的各项(基础)信息

/*
一、通过@Target注解标记自定义注解Lyj可以使用的位置
   1、描述注解存在的位置:注解用在哪里(类上、方法上、属性上等等)
   	  我们使用"ElementType.静态常量"的方式来指定自定义注解具体可以加在什么位置
    	      ElementType.TYPE 应用于类的元素
  	          ElementType.METHOD 应用于方法级
   	          ElementType.FIELD 应用于字段或属性(成员变量)
   	          ElementType.ANNOTATION_TYPE 应用于注解类型
   	          ElementType.CONSTRUCTOR 应用于构造函数
   	          ElementType.LOCAL_VARIABLE 应用于局部变量
   	          ElementType.PACKAGE 应用于包声明
    	      ElementType.PARAMETER 应用于方法的参数
   2、格式:可以一个或多个,中间用,隔开  如:
           @Target({ElementType.XXX,ElementType.XXX})
   3、例子:@Target(ElementType.TYPE)
           @Target({ElementType.TYPE,ElementType.METHOD})

二、通过@Retention注解标记自定义注解Lyj的生命周期
    1、源文件中、字节码文件中、运行中——活多久
       我们使用"RetentionPolicy.静态常量"的方式来指定自定义注解的生命周期
               RetentionPolicy.SOURCE 在源文件中有效(即源文件保留)
               RetentionPolicy.CLASS 在class文件中有效(即class保留)
               RetentionPolicy.RUNTIME 在运行时有效(即运行时保留)
    2、格式:只能写一个 如:
            @Retention(RetentionPolicy.RUNTIME)	到运行时都有效
            注意:值只能写一个:SOURCE CLASS RUNTIME 3选1
 */
@Retention(RetentionPolicy.RUNTIME) //注解运行时有效
@Target(ElementType.METHOD)//注解只能用来标识:方法
public @interface Lyj {
}

3、我们可以给注解进行功能增强--添加注解的属性

不常用的注解

@Documented

将此注解包含在 javadoc 中 ,它代表着
此注解会被 javadoc 工具提取成文档。在 doc 文档中的内容会因为此注解的信息内容不同而不同。

@Inherited

即如果一个类被 @Inherited 标记的注解所修饰,则该注解同样作用于这个类的子类。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值