【JAVA学习笔记】注解

什么是注解

注解和反射是所有框架的底层。
Annotation是java推出的一种注释机制,和普通的注释(comat)有个显著的区别。那就是Annotation是可以在编译、运行阶段读取的,注释明显就不可以。再者,注释是给人看的,而Annotation既就可以给人看,也可以给程序看。

Annotation的作用
  • 不是程序本身,可以对程序做出解释(这一点类似于注释)
  • 可以被其他程序读取
Annotation的格式
  • 注解是以“@注释名”在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”)
Annotation在哪里使用?
  • 可以在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问。

内置注解

  1. 限定父类重写方法:@Override
    当子类重写父类方法时,子类可以加上这个注解,那这有什么什么用?这可以确保子类确实重写了父类的方法,避免出现低级错误
  2. 标示已过时:@Deprecated
    这个注解用于表示某个程序元素类,方法,属性等已过时,当其他程序使用已过时的类,方法,属性时编译器会给出警告(删除线,这个见了不少了吧),表示不鼓励程序元使用这样的元素,通常是因为他很危险或者存在更好的选择。
  3. 抑制编译器警告:@SuppressWarnings
    被该注解修饰的元素以及该元素的所有子元素取消显示编译器警告。
    与前两个注解有所不同,你需要添加一个参数才能正确使用,这些参数有都是已经定义好了的,我们选择性的使用就好了。
    @SuppressWarnings(“all”)
    @SuppressWarnings(“unchecked”)
    @SuppressWarnings(value={“unchecked”,“deprecation”})
  4. “堆污染”警告与@SafeVarargs
  5. 函数式接口与@Functionallnterface

元注解

元注解的作用就是负责注解其他注解。

  1. **@Target:**用于描述注解的适用范围(即:被描述的注解可以用在什么地方)
  2. **@Retention:**表示需要在什么级别保存该注释信息,用于描述注解的生命周期
  3. **@Document:**说明改注解将被包含在javadoc中
  4. **@Inherited:**说明字类可以继承父类中的该注解

自定义注解

public @interface Test{}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值