Annotation的中文翻译
- Annotation 自己接触到两种版本的翻译,一是注释,二是注解。本人倾向于第二个版本,因为第一种版本与//和/* */的中文名称相混淆,虽然Annotation 也是对代码的解释说明,但他不仅仅局限于此,他还可以在servlet中充当配置文件。所以说第二个版本比较好,本博客以后均将Annotation翻译成注解。
对注解的注解
- @Target
- 用以指定使用该标签定义的注解的出现范围。
- @Documented
- 将出现在Javadoc文档中。
- @Retention
- 定义一个注解的保存范围。
- @Inherited
- 在类A定义时使用该标签则类A会继承父类的注解
- @Target
JDK1.5及之后内建的注解
- @Override
- 主要是对方法的覆写时使用,防止方法名错误和对方法的重载。
- @Deprecated
- 主要声明一个不建议使用的方法,如果在程序中使用了此方法,则在编译时出现警告信息。
- @SupressWarning
- 主要功能是压制警告。
- @Override
自定义Annotation
[public]@interface 名称
{ 数据类型 变量名称();
}
Override的定义
@Target(ElementType.METHOD)
//只能作用于方法上
@Retention(RetentionPolicy.SOURCE)
//只存在于源代码中,不会存在class文件,更不会加载到JVM
public @interface Override {
//会隐式继承java.lang.annotation.Annotion接口
}
Target的使用说明
范围 | 描述 |
---|---|
ANNOTATION_TYPE | 只能在注解上声明 |
CONSTRUCROR | 只能用在构造方法上的声明上 |
FIELD | 只能用在字段上 |
LOCAL_VARIABLE | 只能用在局部的声明上 |
METHOD | 只能用在方法的声明上 |
PACKAGE | 只能用在包的声明上 |
PARAMERWE | 只能用在参数的声明上 |
TYPE | 只能用在类、接口、枚举类型上 |
未完待续