Java面试篇基础部分-Java注解详解

什么是注解

  注解(Annotation)首先是Java语言提供了一种设置程序中元素关联关系的方法。是一个接口,程序可以通过反射机制获取到指定的程序元素中的注解对象,然后通过该注解对象获取到注解元素中的相关信息。

注解和注释有什么区别?

  • (1)注解:用于描述代码,说明程序,主要目的是为了给计算机看,且能够影响程序的运行。

  • (2)注释:用于描述代码的作用和一些关键性的知识点,使用文字描述程序,是为了给程序员观看,以此来使程序员能够以快的时间了解被注释的代码。

标准的元注解

  元注解(Meta-Annotation)主要负责的是对于其他注解的注解,在Java语言中定义了四个标准的元注解分别是 @Target 、@Retention、@Documented @Inherited

@Target

  这个注解说明了注解所要修饰的对象范围。注解可以被用于packages、types(类、接口、枚举、注解类型)、类型成员(方法、构造方法、成员变量、枚举值类型)、方法参数和本地变量等内容上。在注解类型中声明了target,这样可以更加明确的修饰目标,target具体的类型值如下

  • TYPE:用于描述类、接口或者是枚举类型
  • FIELD:用于描述作用域
  • METHOD:用于描述方法
  • PARAMETER:用于描述方法参数
  • CONSTRUCTOR:用于描述构造器函数
  • LOCAL_VARIABLE:用来描述局部变量
  • ANNOTATION_TYPE :用来声明一个注解
  • PACKAGE:用于描述一个包
  • TYPE_PARAMETER:对普通变量的声明
  • TYPE_USE:用来标注任何类型的名称

@Retention

  定义了该注解被保留的级别,也就是说这个主角属于什么级别的注解。主要有如下的三种类型

  • SOURCE:在源文件中有效,也就是说在源文件中时被保留的。
  • CLASS:在Class文件中有效,也就是说在Class文件中被保留
  • RUNTIME:在运行时有效,在运行时都被保留

@Documented

  表明这个注解应该被javadoc工具记录,所以可以通过javadoc类的工具文档化

@Inherited

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nihui123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值