Java注解---01注解介绍&内置注解&元注解

注解入门

  • Annotation是从JDK1.5开始引入的技术;

Annotation的作用

- 不是程序本身,可以对程序作出解释(这一点和注释comment没什么区别)
- 可以被其他程序(如:编译器)读取;

Annotation的格式

- 注解是以"@注解名字"在代码中存在的,还可以添加一些参数值,例如:
- @SuppressWarnings(value="unchecked")
- 重写的注解 @Override

Annotation在哪里使用?

- 可以附加在package、class、method、field等上面;
- 相当于给他们增加了额外的辅助信息;
- 我们可以通过反射机制编程实现对这些元数据的访问;

内置注解

  • @Override
    定义在Java.lang.Override中,此注解只适用于修辞手法,表示一个方法声明打算重写父类的同名的方法;
  • @Deprecated
    定义在Java.lang.Deprecated中,此注解可以用于修饰方法、属性、类等,表示不鼓励IT人员用这样的元素,通常是因为它过时了或者有更好的方法;
  • @SuppressWarnings
    • 定义在Java.lang.SuppressWarnings中,用来抑制编译时的警告信息;
    • 与前两个注解不同的是,该注解需要增加一个参数才能正确使用,并且参数都是定义好的,我们根据需要进行选择性使用即可。
    • @SuppressWarnings("all")
    • @SuppressWarnings("unchecked")
    • @SuppressWarnings("value={"unchecked","deprecation"}")

元注解

元注解的作用就是负责注解其他注解;Java定义了4个标准的meta-annotation类型,它们被用来提供对其他annotation类型做说明。
这些类型可以在java.lang.annotation包中可以找到:

  • @Target
    用来描述注解的适用范围(即被描述的注解可以用在哪些地方);
  • @Retention
    表示需要在什么级别保存该注解信息,用于描述注解的生命周期,SOURCE<CLASS<RUNTIME
  • @Document
    说明该注解将被包含在javadoc中;
  • @Inherited
    说明子类可以继承父类的注解 ;
// 测试元注解
public class Test01 {
    @MyAnnotation
    public void test(){}
}


// 定义一个注解
// Target 表示我们的注解可以用在哪些地方
@Target(value= {ElementType.METHOD,ElementType.FIELD})
// Retention 表示我们的注解,在什么地方有效Runtime>Class>Source
@Retention(value = RetentionPolicy.RUNTIME)
// Documented 表示是否将我们的注解生成在Javadoc中
@Documented
// Inherited 表示子类可以继承父类的注解
@Inherited
@interface MyAnnotation{}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一个小坑货

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

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

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

打赏作者

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

抵扣说明:

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

余额充值