java基础-注解

注解:可以理解为一种特殊的注释,也可以理解成是代码中的特殊标记。

注解主要作用于类/方法/变量上面。

最常见的注解是@Override,被改注解修饰的方法是【被重写的方法】。

public interface Test01 {
    void method1();
}

class Test01Impl implements Test01{
    @Override
    public void method1() {

    }
}

注解在被解析之后才会生效。

解析注解常见的方法有两个:

1、编译期扫描:编译器在编译java代码的时候扫描代码中的注解并做相应的处理。

2、运行期通过反射处理:框架中的注解一般都是在运行期通过反射进行处理的。

自定义注解怎么写?可以使用元注解去自定义注解。

java中有修饰注解的注解,我们可以称之为元注解。

常用的元注解有四个:@Retention、@Target、@Document、@Inherited

@Retention:定义注解的保留策略(注解在哪里存在)

可选策略有三个:SOURCE、CLASS、RUNTIME。

SOURCE:注解存在于源码中

CLASS:注解存在于.class结尾的字节码文件中,运行期无法通过反射获取

RUNTIME:注解存在于字节码文件中,但运行期可以通过反射获取到,框架中的注解一般都使用

@Retention(RetentionPolicy.RUNTIME)

@Target:定义注解的作用目标

@Target(ElementType.TYPE)   //接口、类、枚举、注解
@Target(ElementType.FIELD) //字段、枚举的常量
@Target(ElementType.METHOD) //方法
@Target(ElementType.PARAMETER) //方法参数
@Target(ElementType.CONSTRUCTOR)  //构造函数
@Target(ElementType.LOCAL_VARIABLE)//局部变量
@Target(ElementType.ANNOTATION_TYPE)//注解
@Target(ElementType.PACKAGE) ///包    

@Document:Javadoc工具会将【被该注解标记的元素】的【注解信息】包含在javadoc中,默认情况下,元素的注解信息不会被包含在javadoc中。

@Inherited:对于类来说,子类要继承父类的注解需要该父类被 @Inherited 标识。

如何自定义注解?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值