Java——注解(1/2)-注解、自定义注解(代码实例,注解的原理)、元注解(Target,Retention)

目录

概述

注解(Annotation)

自定义注解

代码实例(1)

代码实例(2)

注解的原理

元注解

Target

Retention


概述

注解(Annotation)

  • 就是Java代码里的特殊标记,比如:@Override、@Test等,作用是:让其他程序根据注解信息来决定怎么执行该程序。
  • 注意:注解可以用在类上、构造器上、方法上、成员变量上、参数上、等位置处。

自定义注解

  • 就是自己定义注解

public @interface 注解名称{

        public 属性类型 属性名() default 默认值;

}

代码实例(1)

//自定义注解
public @interface MyTest1 {
    //public可以省略
    String aaa();
    boolean bbb() default true;
    String[] ccc();
}
//使用自定义注解
@MyTest1(aaa="牛魔王",ccc={"HTML","Java"})
public class AnnotationTest1 {
    @MyTest1(aaa="铁扇公主",bbb=false,ccc={"Python","前端","Java"})
    public void test1(){

    }
}


特殊属性名:value

  • 如果注解中只有一个value属性,使用注解时,value名称可以不写!

代码实例(2)

public @interface MyTest2 {
    String value(); //特殊属性
}


//@MyTest2(value = "孙悟空")
@MyTest2("孙悟空")
public class AnnotationTest1 {
    @MyTest1(aaa="铁扇公主",bbb=false,ccc={"Python","前端","Java"})
    public void test1(){

    }
}

注解的原理

  • 注解本质是一个接口,Java中所有注解都是继承了Annotation接口的。
  • @注解(...):其实就是一个实现类对象,实现了该注解以及Annotation接口。

元注解

  • 指的是:修饰注解的注解。

Target

  • 作用:声明被修饰的注解只能在哪些位置使用

@Target(Element.TYPE)

  1. TYPE,类,接口
  2. FIELD,成员变量
  3. METHOD,成员方法
  4. PARAMETER,方法参数
  5. CONSTRUCTOR,构造器
  6. LOCAL_VARIABLE,局部变量

Retention

  • 作用:声明注解的保留周期。

@Retention(RetentionPolicy.RUNTIME)

①.SOURCE

  • 只作用在源码阶段,字节码文件中不存在。

②.CLASS  (默认值)

  • 保留到字节码文件阶段,运行阶段不存在

③.RUNTIME (开发常用)

  • 一直保留到运行阶段。


END 


学习自:黑马程序员——Java课程

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值