Java的基本注解

来源:互联网 发布:flothermal软件下载 编辑:程序博客网 时间:2024/05/17 01:43

定义:

注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。

用途:

向编译器或者工具软件传递一些信息

@Override

作用:提示该函数重写父类中签名相同的函数,否则将会编译失败。

@SuppressWarnings

作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。

@Deprecated

作用:过时API注解 我们在用到JDK提供的API的时候,在编译中遇到 这样的提示 提示用到过时的API ,那么这个API 就被这个@Deprecated注解所 标识,在javac进行编译的时候 发现了注解便做出相应的提示

如何自定义注解:

注解本质上是一个类,其定义方式类似于类和接口。

注解的生命周期

注解在被加载到内存的过程中,有三个步骤,第一步是在java原文件中,然后被javac编译成class文件,再到被classloeader加载到内存,这三个步骤。每个步骤都可能会有一些注解被抛弃,控制注解的生命周期就是由元注解Retention来进行的。
1. RetentionPolicy.SOURCE
2. RetentionPolicy.CLASS
3. RetentionPolicy.RUNTIME
默认是class阶段

特点:

  1. SOURCE表示这个Annotation类型的信息只会保留在源码里,源码经过编译之后,Annotation的数据就会消失,并不会保留在编译好的.class文件里;
  2. CLASS表示这个Annotation类型的信息在源码保留,在.class文件也保留,但不会把这些信息加载到虚拟机(JVM)中,如果不设置,系统默认值是CLASS;
  3. RUNTIME表示在源码,编译后的.class都保存信息,在执行的时候也会把这些信息加载到JVM中
1 0