Java 注解学习

概念:
Java提供了一种原程序中的元素,关联任何信息和任何元数据的途径和方法。

注解分类
  - 按运行机制分
   1、源码注解只在源码中存在
   2、编译时注解在class中依然存在
   3、运行行时注解 运行阶段起作用
 - 按来源分
   1、内置注解(JDK自带注解)
   2、自定义注解
 - 元注解
   表示注解使用方式

内置注解

  • @Override 重写
  • @Deprecated 已过期
  • @Suppvisewarnings 压制警告

语法要求、元注解

  • 元注解:
    1、Target-适用范围;
      取值(ElementType)有:
       CONSTRUCTOR:用于描述构造器
       FIELD:用于描述属性
       LOCAL_VARIABLE:用于描述局部变量
       METHOD:用于描述方法
       PACKAGE:用于描述包
       PARAMETER:用于描述参数
       TYPE:用于描述类、接口(包括注解类型) 或enum声明
     
    2、Retention-类型:源码注解、编译时注解、运行时注解
      RetentionPolicy.SOURCE:注解仅存在于源码中,在class字节码文件中不包含
      RetentionPolicy.CLASS: 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,
      RetentionPolicy.RUNTIME: 注解会在class字节码文件中存在,在运行时可以通过反射获取到

    3、Inherited
      这是一个稍微复杂的注解类型. 它指明被注解的类会自动继承. 更具体地说,如果定义注解时使用了 @Inherited 标记,然后用定义的注解来标注另一个父类, 父类又有一个子类(subclass),则父类的所有属性将被继承到它的子类中
     
    4、Documented
      Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中. 

  • 关键字-@interface
    成员要求:
    成员类型须为基8类型,及String,Class,Annotation,Enumeration
    若注解只有一个成员,则该成员名称须为value()
    注解类也可以没有成员,即为标识注解

列子:

自定义注解:

这里写图片描述

@Traget(ElenmentType.FlElD) 表示这个注解使用范围为属性

@Retention(RetentionPolicy.RUNTIME) 表示注解在运行时起作用

注解解析

这里写图片描述

注解使用

这里写图片描述

ViewFind.bind(this); 注解解析使用

@FieldView(R.id.tv_text) 注解的使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值