java @interface 注解详解及实例
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
java @interface 注解详解及实例 Java 中的注解(Annotation)是从 Java 5 开始引入的一种特殊类型的接口,它可以在编译时、类加载时或运行时被读取,并且可以被用来生成描述信息、强制编译检查、.runtime processing 等多种用途。下面是关于 Java @interface 注解的详解及实例。 一、定义注解 在 Java 中,定义注解其实和定义接口差不多,只需要在 interface 前添加一个 @ 符号就可以,即 `@interface Zhujie{ }`,这就表明我们定义了一个名为 `@Zhujie` 的注解。注解中的每一个方法定义了这个注解类型的一个元素,特别注意:注解中方法的声明中一定不能包含参数,也不能抛出异常;方法的返回值被限制为简单类型、String、Class、enums、注释,和这些类型的数组,但方法可以有一个缺省值。 二、元注解 元注解是注解的注解,用于修饰其他注解。Retention 是一个元注解,用于指定注解的生命周期。Retention 注解有一个属性 value,是 RetentionPolicy 类型的,而 Enum RetentionPolicy 是一个枚举类型,这就决定了 Retention 注解应该如何去操作,也可以理解为 Retention 搭配 RetentionPolicy 来使用。RetentionPolicy 有三种值,分别为: 1. CLASS:用 `@Retention(RetentionPolicy.CLASS)` 修饰的注解,表示注解的信息被保留在 class 文件(字节码文件)中当程序编译时,但不会被虚拟机读取在运行的时候。 2. SOURCE:用 `@Retention(RetentionPolicy.SOURCE)` 修饰的注解,表示注解的信息会被编译器抛弃,不会留在 class 文件中,注解的信息只会留在源文件中。 3. RUNTIME:用 `@Retention(RetentionPolicy.RUNTIME)` 修饰的注解,表示注解的信息被保留在 class 文件(字节码文件)中,当程序编译时,会被虚拟机保留在运行时。 三、使用示例 创建一个简单的注解: ```java public @interface Coder { int personId(); String company() default "[unassigned]"; } ``` 注解定义完之后,我们就可以用来作注释声明。注解是一种特殊的修饰符,在其他修饰符(例如,public、static 或者 final 等)使用地方都可以使用注解。按照惯例,注解应该放在其他修饰符的前面。注解的声明用 @ 符号后面跟上这个注解类型的名字,再后面加上括号,括号中列出这个注释中元素或者方法的 key-value 对,其中,值必须是常量。 例如: ```java @Coder(personId=20151120,company="YeePay") ``` 没有元素或者方法的注解被称为“标记(marker)”类型,例如: ```java public @interface Coder {} ``` 标记注解在使用的时候,其后面的括号可以省略。如果注释中仅包含一个元素,这个元素的名字应该为 value,例如: ```java public @interface Coder { String value(); } ``` 如果元素的名字为 value,那么在使用这个注解的时候,元素的名字和等号都可以省略,例如: ```java @Coder("YeePay") ``` Java @interface 注解是一种非常强大且灵活的工具,可以用于各种场景,例如配置文件、日志记录、安全检查等等。
- 粉丝: 9
- 资源: 952
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助