前言
大家有时候在用各种编译器写代码的时候,比如说像实现某个接口的方法时,我们会根据系统提示来直接进行代码的编写。但是呢,生成的代码不光单单是方法,还有一些类似于注释的提示,有没有貌似对代码不会产生影响。 其实,这些东西中的一些就是注解,今天就跟着小编了解一下什么是注解吧。一、注解是什么?
Java注解(Annotation)也可以成为Java标注,是在jdk5.0时引入的一种注释机制。
Java注解不会对程序本身产生影响,但是它会对程序做出解释,而且还可以被其他程序读取。
例如,下例就是一种注解。
@Override
二、内置注解
1.常用的基本注解
作用在代码中的注解:
@Override 检查该方法是否是重写方法。
如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。
@Deprecated 标记很危险或者存在更好的选择的元素,如果使用,会报编译错误。
@SuppressWarnings 指示编译器去忽略注解中声明的警告。
作用在其他注解的注解(即元注解):
@Retention 表示需要在什么级别保存该注释信息,用于描述注解的生命周期。
@Documented 说明该注解将被包含在javadoc中。
@Target 描述注解的使用范围,即应该是哪种java成员。
@Inherited 说明子类可以继承父类中的该注解。
2.自定义注解
我们可以在项目中通过自定义注解可以在程序代码中的关键节点(类、方法、变量、参数、包)上打上这些标记,然后程序在编译时或运行时可以检测到这些标记从而执行一些特殊操作。
大致步骤如下:
①定义注解 ——— 相当于定义标记;
②配置注解 ——— 把标记打在需要用到的程序代码中;
③解析注解 ——— 在编译期或运行时期检测到标记,并进行相应的特殊操作。
注解类型的声明部分:
注解在Java中,与类、接口、枚举类似,因此其声明语法基本是一致的,只是所使用的关键字有所不同,是@interface。在底层实现上,所有定义的注解都会自动继承java.lang.annotation.Annotation接口。
public @interface cherryAnnotation{
}
注解类型的实现部分:
根据我们在自定义类型的经验,在类的实现部分无非就是书写构造、属性或者方法。但是实在自定义注解中,其部分只能实现定义一个东西:注解类型元素。
public @interface cherryAnnotation{
public String name();
int age();
int[] array();
}