Java注解

注解(Annotation)

1、注解的作用

    -对程序做出解释,但不是程序的本身。(与注释相似)
    -可以被其他程序读取。(可以参与反射的使用)

2、注解的格式
   注解以"@注解名"在代码中存在,有些注解也可以添加参数值,例如:@Override 是没有参数值,表示是重写;@SuppressWarnings(value = {“1”}) 是有参数值的,表示是压制警告信息的出现

3、注解的使用范围
   可以使用在package(包),class(类),method(方法),field(字段)等上面,可以视为给他们添加了一些辅助信息,我们也可通反射机制对这些元数据进行访问。

常见内置注解

(1)@Override:定义在java.lang.Override里,只能用于方法上,表示该方法声明打算重写父类中的另一个方法。

(2)@Deprecated:定义在java.lang.Deprecated里,可以用于方法、属性、类上,表示不鼓励程序员使用该元素(该元素已过时),因为它可能会存在危险或者存在更好的选择。
(方法上有该横线代表被@Deprecated修饰)
在这里插入图片描述
(3)@SuppressWarnings:定义在java.lang.SuppressWarnings里,可以用于大部分地方,表示抑制编译时的警告信息
 ·该注解必须要添加一个参数才能正常使用

元注解

1、作用

   负责注解其他注解,java定义了4个标准的meta-annotation类型,它们用来对其他的注解进行说明。

2、类型
   可以在java.lang.annotation包中找到

需要设置参数

   -@Target:用于描述注解的使用范围(即可在什么地方被使用)

在这里插入图片描述

(@Target中设置了哪些参数,就能在哪个地方进行使用)
    *Type(类型),FIELD(字段),METHOD(方法),PARAMETER(参数),CONSTRUCTOR(构造器),LOCAL_VARIABLE(局部变量),ANNOTATION_TYPE(注释类型),PACKAGE(包),TYPE_PARAMETER(参数类型,1.8之后)

   -@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期

    *SOURCE(源码级别)<CLASS(类级别)<RUNTIME(运行时级别)

无参数
   -@Documented:说明该注解包含将包含在javadoc中

   -@Inherited:说明子类可以继承父类中的该注解

自定义注解

   使用@interface自定义注解,会自动继承java.lang.annotation.Annotation接口
   (1)语法:
     public @interface 注解名{内容}
   (2)声明参数:
     数据类型 参数名(); //这是个变量,并不是方法
   (3)返回值类型(参数类型)
     基本数据类型,Class,String,enum,数组
   (4)默认值
     通过default设置,如果参数设置了默认值,使用注解时就不需要显示赋值了,参数没有默认值则必须显示赋值(多个值以逗号隔开)
在这里插入图片描述
   (5)如果只有一个参数成员,一般参数名为value(可以直接进行赋值,不需要写参数名)
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值