第20章 注解/20.1 基本语法
标签: | 作者:易学笔记 更多资料请联系微信或QQ:1776565180 |
- 注解
- 概念:注解也称为元数据,是与源代码结合在一起的
- 作用
- 提供完整的程序描述信息
- 以编译器来测试和验证数据
- 生成描述符文件
- 生成新的的类定义
- JAVA自带注解
- @Override:覆盖方法
- @Deprecated:编译器发出警告
- @SuppressWarnings:关闭不恰当的警告
- 基本语法
- 例子:注解方法
//: annotations/Testable.java package annotations; import net.mindview.atunit.*; public class Testable { public void execute() { System.out.println("Executing.."); } @Test void testExecute() { execute(); } } ///:~
第20章 注解/20.1 基本语法/20.1.1 定义注解
标签: | 作者:易学笔记 更多资料请联系微信或QQ:1776565180 |
- 定义注解
- 元注解:系统自定义的注解,比如
- @Target:定义你的注解作用范围,比如方法、用ElementType进行定义
public enum ElementType {
/** Class, interface (including annotation type), or enum declaration */
TYPE,
/** Field declaration (includes enum constants) */
FIELD,
/** Method declaration */
METHOD,
/** Parameter declaration */
PARAMETER,
/** Constructor declaration */
CONSTRUCTOR,
/** Local variable declaration */
LOCAL_VARIABLE,
/** Annotation type declaration */
ANNOTATION_TYPE,
/** Package declaration */
PACKAGE
}
- @Retention:用来定义该注解用到什么地方
- SOURCE:源代码
- CLASS:类文件中
- RUNTIME:运行时
- @Target:定义你的注解作用范围,比如方法、用ElementType进行定义
- 标记注解:没有任何数据元素的注解,例如:
- 有数据元素的注解:
//: annotations/UseCase.java
package annotations;
import java.lang.annotation.*;
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UseCase {
public int id();
public String description() default "no description";
} ///:~