20200314——java注解

在这里插入图片描述

我们见过的内置注解

@Override 表示重写一个方法
@Deprecated 不推荐程序员使用

我们调用使用该注解的函数的时候,函数可以看到有一个横杠
在这里插入图片描述

元注解

作用就是负责解释其他注解的注解
java定了四个标准的元注解
在这里插入图片描述
在这里插入图片描述
我们接下来自定义一个注解,用这四个元注解来测试一下
@Target
在这里插入图片描述

target注解中有一个属性value,类型是ElementType类型
这个ElementType类是一个枚举类
在这里插入图片描述
进行测试,可以发现我们自定义的注解可以注解在test方法上面

在这里插入图片描述

当我们想要用这个注解注解在类上的时候就会报错
在这里插入图片描述
在这里插入图片描述
表示该注解不能注解该类型

但是这个@Target的value是一个数组,可以在里面添加属性,这样注解就可以注解在类和方法上面

@Retention
同target一样,其中value值的类型是一个RetentionPolicy枚举类型
在这里插入图片描述
只有RUNTIME,CLASS,SOURCE 三种
source源码 class字节 runtime运行时
自定义的注解一般都是runtime,表示在运行时候执行

@Document
表示是否将我们的注解生成在javadoc中

javadoc

@inherited
子类可以继承父类的注解

自定义注解
使用@interface 相当于,自动继承了java.lang.annotation.Annotation接口
在这里插入图片描述

在这里插入图片描述
你自定义一个注解之后,注解里面的参数,就是以后你要使用注解的时候,在注解要传入的参数

    String name() default "";

如果后面有default,那么就说明当不赋值的时候,这个值就为空

如果注解没有默认值,必须赋值,如果不赋值肯定会报错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值