自定义注解小总结 -- @Annotation

一:自定义注解示例

在这里插入图片描述

1.1 关键字

关键字采用@interface

1.2 基注解

注解可以使用四大基类注解进行构建,分别代表作用域、保存位置、是否加入javadoc、是否可以被子类继承等。同时注解也可以加上其它定义注解,拥有与其相同的效果

1.3 方法

注解中包含的方法就是使用时注入的属性,类型 + 名字 + [默认值]构成,注意一点就是参数类型不能是包装类

二:基类注解详解
2.1 @Target

在这里插入图片描述

  • 作用:标记注解作用范围
  • 属性值:value属性的属性值为ElementType枚举类数组
public enum ElementType {
	// 类
    TYPE,  
    // 属性                   
    FIELD, 
    // 方法		             
    METHOD,       
    // 参数           
    PARAMETER,    
    // 构造器           
    CONSTRUCTOR, 
    // 局部变量           
    LOCAL_VARIABLE, 
    // 注释类型        
    ANNOTATION_TYPE,      
    // 包  
    PACKAGE,              
	// JDK1.8新增用以注解类型
    TYPE_PARAMETER, 
    TYPE_USE
}
2.2 @Retention

在这里插入图片描述

  • 作用:标记有效时间
  • 属性值:value属性的属性值为RetentionPolicy枚举对象
public enum RetentionPolicy {
	// class文件不可见
    SOURCE,
    // 运行时不可见
    CLASS,
    // 运行时可见,通过反射得到注解信息
    RUNTIME
}
2.3 @Documented

在这里插入图片描述

  • 作用:理解为标记型注解,被注释内容会被javadoc提取保存
2.4 @Inherited

在这里插入图片描述

  • 作用:标记型接口,标记该注解是否能被子类继承
  • 接口注解不能被继承,父类方法被子类重写后注解不继承
三:注解使用
3.1 基本使用

根据基类注解Target标记作用范围在相应地方使用即可,注意一点就是如果注解有多个属性务必要显示声明属性名

3.2 反射操作注解

就随便玩了一下,反正和普通的方法、属性反射操作没有区别
在这里插入图片描述

四:@RepeatTable

注解重复使用,例如定义一个学生注解@Student,在班级测试类上需要注解@Student标记所有学生,班级学生有多个需要使用到多次@Student。这时候就需要在@Student上注解@RepeatTable记录所有的@Student注解属性值
在这里插入图片描述

zhangsan
lisi
zss
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值