java 自定义警告_如何自定义一个Java注解?

其实我们简单理解一下,注解就是标注在类、方法、变量、参数上的一种标签,你可以使用JDK内置的注解,也可以自定义注解,通常情况下我们都是使用自定义注解来完成自己的注解功能

JDK内置的注解

1、@Override

只要学过Java面向对象特性的人对于这个注解应该都很熟悉,@Override用来标注子类覆盖父类的方法,当标注了这个注解后父类中的方法有变更,编译器会给出错误提示

2、 @Deprecated

此注解主要是用来标识一些方法已经过时了,不推荐使用了

3、@SuppressWarnings

这个注解用于告诉编译器忽略特定的警告信息,当你不希望编译器在你的方法上有警告信息时,可以通过@SuppressWarnings注解来消除警告信息

4、@SafeVarargs

Java 7 开始支持,忽略任何使用参数为泛型变量的方法或构造函数调用产生的警告

5、@FunctionalInterface

Java 8 开始支持,标识一个匿名函数或函数式接口

元注解

元注解就是用来标记注解的注解,也就是用来自定义注解的

1、@Retention

@Retention注解用来表示注解保留的阶段(源码、字节码、运行时)@Retention(RetentionPolicy.SOURCE) 注解仅存在于源码中,在class字节码文件中不包含

@Retention(RetentionPolicy.CLASS),默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得

@Retention(RetentionPolicy.RUNTIME),注解会在class字节码文件中存在,在运行时可以通过反射获取到

自定义注解只能使用RetentionPolicy.RUNTIME

2、@Target

@Target用来限定注解可以使用的范围,可以是类、方法、参数等@Target(ElementType.TYPE) 作用接口、类、枚举、注解

@Target(ElementType.FIELD) 作用属性字段、枚举的常量

@Target(ElementType.METHOD) 作用方法

@Target(ElementType.PARAMETER) 作用方法参数

@Target(ElementType.CONSTRUCTOR) 作用构造函数

@Target(ElementType.LOCAL_VARIABLE)作用局部变量

@Target(ElementType.ANNOTATION_TYPE)作用于注解

@Target(ElementType.PACKAGE) 作用于包

@Target(ElementType.TYPE_PARAMETER) 作用于类型泛型

@Target(ElementType.TYPE_USE) 类型使用.可以用于标注任意类型除了 class

一般比较常用的是ElementType.TYPE

3、@Documented

@Documented的作用是能够将注解中的元素包含到 Javadoc 中去

4、@Inherited

当一个类被@Inherited标记时,如果子类没有被其他注解标记,那么子类会继承父类的注解

5、@Repeatable

@Repeatable标记的注解表示可以同时标记一个对象多次

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值