Java注解

注解是代码级别的说明.

和注释相比: 

注释给人看,便于维护

注解是给java虚拟机看的

注解的作用:

1.做编译期检查

    @SuppressWarning:抑制警告

    @Override 重写父类方法

    @Deprecated 标识方法过时,不鼓励使用

 2.替代配置文件.必须将注解的@Retention设置为Runtime

自定义注解

        注解标识符 @interface 注解跟类和接口是同一个层次的东西.

        在注解中可以定义抽象方法(属性)

         属性是有类型限制的.可以有基本数据类型,string,Class,枚举类型,以上类型的一维数组

        @interface MyAn01{

                String s();

                int i();

                Class c();

                 MyAn02 m();

                String[] ss();

                int[]   ii();

         }

如果一个注解有属性,那么在使用过程中必须给属性赋值
@xxx(属性名=属性值,属性名=属性值...)
如果一个注解的属性是数组形式
@xxx(属性名={属性值1,属性值2...})
如果数组 只给一个值 那么大括号可以省略不写
如果注解中当只有一个属性 并且需要赋值的时候 名字叫做value的   那么可以省略属性名

注解不能在同一个地方出现两次(jdk1.9以前 )

元注解:
@Target  指明注解的使用位置的
ElementType.METHOD 可以方法上
ElementType.TYPE, 可以类或者接口

ElementType.FIELD 可以成员变量

@Retention 指明注解的代码保留阶段
SOURCE: 注解只会保留在源代码中
CLASS:  注解保留到class文件

RUNTIME:注解保留到class文件  并且在加载内存的时候 依旧保留


注解的解析:
类.方法.接口....isAnnotationPresent(注解.class)  判断某个类 方法  是否含有某个注解的意思
类.方法.接口....getAnnotation(注解.class)  获取注解   获取注解里面属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值