Java注解小记
来源:互联网 发布:液晶编程器烧录器 编辑:程序博客网 时间:2024/06/13 08:19
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
主要作用有:
①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】
② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】
③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】
以上资料来自百度百科。
说起Java中的注解,可能有的人不是非常清楚这么一个概念。但其实大部分接触过Java的程序员或多或少的都接触过Java的注解,只是可能你并没有意识到。
就拿三种JDK中自带的注解来说:
class Person{public void run(){}}class Student extends Person{@Overridepublic void run(){}@Deprecatedpublic void study(){}@SuppressWarnings("all")public void call(){int i;}}其中:
@Override注解表示注解下的方法为覆盖父类的方法并重写之。
@Deprecated注解表示注解下的方法已不再使用。一般使用此注解时表示旧的方法存在着某些问题或限制,有新的方法可以取代旧的方法以完成某个功能。
@SuppressWarnings("all")注解表示消除方法中所有的警告,即Warnings。括号中的参数可以为特定类型的警告,如null,rawtypes,deprecation等,all表示所有类型的警告均消除。
注解依据运行机制可分为三类:
1、源码注解(SOURCE):注解只在源码中存在,编译为.class文件之后便不存在了。
2、编译时注解(CLASS):注解在源码中以及.class文件中均存在。
3、运行时注解(RUNTIME):注解除了在源码及.class文件中存在之外,在程序运行时同样存在,可以影响运行时的代码逻辑。
自定义注解:
import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * ElementType.TYPE 目标为类,接口,枚举类型以及注解 * ElementType.FIELD 目标为类中的成员 * ElementType.METHOD 目标为类中的方法 * 还有诸如ElementType.CONSTRUCTOR、ElementType.PACKAGE等可以根据字面意思推敲得出,便不再列举了。 */@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface Table {String value();}以上为一个简单的自定义注解。
说到自定义注解就不得不说元注解。元注解是定义注解的注解。主要有以下四类:
@Target标注该注解使用的范围,如为类注解,为方法注解等,具体参数参照上述代码中的注释。
@Retention标注该注解的运行机制,有三类,即上面提到的源码注解、编译时注解以及运行时注解。
@Documented为文档注解,若有则表明生成文档doc时包含此注解。
@Inherited表示注解允许继承,可以作用到子类。
自定义注解一般配合反射一起使用。
- Java注解小记
- spring mvc 小记(一):spring注解与java原注解
- spring注解功能小记
- 注解添加事务小记
- Struts2注解式开发小记
- jpa小记:注解条件查询
- springBoot学习之注解小记
- java 小记
- java小记
- java 小记
- Java小记
- Java小记
- java 小记
- Java小记
- Java 小记
- java小记
- Java小记
- java小记
- 欢迎使用CSDN-markdown编辑器
- c/c++整理--c++面向对象(2)
- 设计模式(五):工厂方法模式
- 输入函数总结
- 51nod 1253 Kundu and Tree
- Java注解小记
- explicit关键字的作用及其用法
- 通俗易懂的InputStream、OutputStream
- LeetCode 46. Permutations 全排列,树形状态回溯
- 组队竞赛
- 上传单张、多张图片demo示例
- 数字印花(热转印)对花系统
- makefile:3: *** missing separator. Stop.
- require.js相关