1 注解的写法
@xxx[(一些信息)]
2 注解放在哪里?
类的上面,属性上面,方法上面,构造方法上面,参数前面
3. 注解的作用
- 用来充当注释的作用 @Deprecated
- 用来作为代码的检测 @Override
- 可以携带一些信息
4. Java已有的注解
@Deprecated 用来说明方法是废弃的
@Override 用来做代码检测,判断方法是否是重写方法
@SuppressWarnings(信息) 抑制编译程序警告
信息是String[]数组,格式为{"",""}
unused
serial
rawtypes
deprecation
unchecked
all
5.注解中可以携带的信息,可以携带以下类型的信息
- 基本数据类型
- String类型
- 枚举类型
- 注解类型@
- 数组类型[] 数组的内部需要是如上的四种类型
6.如何自定义一个注解类型
- 通过@Interface定义一个新的注解类型
- 可以描述public abstract 的方法,但是在注解中可以省略这些修饰符
- 我们自定义的注解还需要添加一些说明,用元注解来进行说明
- 元注解也是注解,它不是拿来使用的,是专门用来说明注解的
- 元注解
@Target 描述当前的这个注解可以放置在哪里写
@Retention 描述当前的这个注解存在什么作用域中
源代码文件---->编译---->字节码文件---->加载---->内存中运行
SOURCE CLASS RUNTIME
@Inherited 描述当前注解是否可以被子类对象继承
@Documented 描述整个注解是否能被文档所记录
@Native
@Repeatable
import static java.lang.annotation.ElementType.*;
@Target(FIELD,TYPE,METHOD)
public @interface MyAnnotatio{
String test(); //注解中的方法必须有返回值,返回值类型就是如上五种
}