Annotation(注解)

一、自定义注解

package annotation_;


/**
 * @author 15594
 *
 * 自定义注解
 * 1、注解声明:@interface
 * 2、内部定义成员,通常用value表示
 * 3、可以指定成员的默认值,使用default定义
 * 4、如果自定义注解没有成员,表示这个注解是一个标识作用
 *
 * 自定义注解必须配上注解的信息处理流程(使用反射)才有意义。
 *
 */
public @interface MyAnnotation {
    String value() default "hi";
}

package annotation_;

/**
 * @author 15594
 *如果注解有成员,在使用注解的使用要是成员没有默认值那么需要指定一个值。
 */
@MyAnnotation("hello")
public class MyAnnotationTest {

}

二、元注解——修饰注解的注解

  • 元注解——jdk提供的,用来修饰其他注解的

1、@Retention(RetentionPolicy.SOURCE):指定所修饰的注解的生命周期,

  • SOURCE(注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略)、
  • CLASS(注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期)、
  • RUNTIME(注解将被编译器记录在类文件中,并在运行时由 VM 保留,因此它们可以被反射读取)

在这里插入图片描述

2、@Target(ElementType.ANNOTATION_TYPE):指定注解能使用在哪里(方法、类)

  • CONSTRUCTOR:表述构造器
  • FIELD:用于表述域
  • LOCAL_VARIABLE:描述局部变量
  • TYPE:描述类、接口、enum
  • METHOD:描述方法
  • PACKAGE:描述包
  • PARAMETER:描述参数

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值