元注解/组合注解

6 篇文章 0 订阅
好记性不如烂笔头,做个记录。

1.我们所说的注解可分为两大类

元注解 和 组合注解

2.元注解有四类:
@Target
@Retention
@Documented

@Inherited

3.组合注解:
@Override
@suppresswarnings
@@documented

.....

......

4.是否考虑过:如何将代码中的多个方法归为一类,并通过代码识别或拦截呢?

       是否想偷懒,将变量的初始化全部交给代码自己处理呢?
  这时候可以考虑“注解”一下,然后识别“注解”,注解是哪个类别,那么就做对应的操作。
所以。可以说“注解”的目的是“标识”,标识方法、变量。
  注解”的识别并区分,需要借助反射获取,进而根据不同的注解,做出不同的处理。
  是不是感觉像定义的变量。可以这么理解,不过也要知道,这个所谓的注解,需要借助反射才能获取,理解、识别。

5.那么元注解是啥子,组合有事什么东东呢?
  可以将“元注解”理解为对“注解”的抽象,便于复用。“组合注解”是对“元注解”的集成。或这称组合注解依赖元注解。其实元注解也是一种规则约束。很多基本的每个开发者都有自己的写法,都适配岂不是很麻烦。
没的元注解,你也可以完全搞个新的。
  组合注解,是对元注解的封装和自身扩展(对视定义变量,记录数值)。
  元注解是,注解自定义注解的注解。第三方框架中很常见。当然“组合注解”也可以注解“组合注解”


6我们想要一个专门注解字段的组合注解怎么办呢:

组合注解名:mytest

只能在字段上使用,有专门的元注解帮助:@Target(ElementType.FIELD) 

//ElementType.METHOD 则表示方法、ElementType.CONSTRUCTOR

运行时可以获取到注解(理解为注解生命周期):@Retention(RetentionPolicy.RUNTIME) 

//@Retention(RetentionPolicy.CLASS) 在class文件可见,运行时不可获取

最终形态:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface mytest {
    String value();
}

value 则是注解的同时,可以通过value传值。这个值可以通过反射获取。是不是增加的灵活性。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值