java 注解

发布于:2022-12-10 ⋅ 阅读:(679) ⋅ 点赞:(0)

注解概述

注解其实就是对程序的标注和解释,注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时检测到这些标记而进行一些解释处理(解释器就是通过反射)。

元注解

描述注解的注解称为元注解。Java5定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明

  • @Target
  • @Retention
  • @Documented
  • @Inherited

@Target

指定注解使用的位置

可选类型 描述
ElementType.TYPE 应用于类、接口、枚举
ElementType.FIELD 应用于属性
ElementType.METHOD 应用于方法
ElementType.PARAMETER 应用于方法的形参
ElementType.CONSTRUCTOR 应用于构造函数
ElementType.LOCAL_VARIABLE 应用于局部变量
ElementType.ANNOTATION_TYPE 应用于注解类型
ElementType.PACKAGE 应用于包
ElementType.TYPE_PARAMETER 应用于类型变量
ElementType.TYPE_USE 应用于任何使用类型的语句中(例如声明语句、泛型和强制转换语句中的类型)

@Retention

指定注解声明周期

可选类型 描述
RetentionPolicy.SOURCE 编译时被丢弃,不包含在类文件中
RetentionPolicy.CLASS JVM加载时被丢弃,包含在类文件中,默认值
RetentionPolicy.RUNTIME 由JVM 加载,包含在类文件中,在运行时可以被获取到

@Documented

被记录到javadoc文档化

@Inherited

表示该注解向下继承

自定义注解

访问修饰符必须为public,不写默认为pubic,关键字为@interface

public @interface 注解名称{

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

    public String name();  // 不给默认值 ,使用注解时传进来@注解名称(name="123")

    //定义一个Class 类型属性

    public Class calss () default Ano.class;

}

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到