Java元注解

1、注解数据类型

注解是写在.java文件中,使用@interface作为关键字, 所以注解也是Java的一种数据类型,从广泛的定义来说,Class、Interface、Enum、Annotation都属于Class类型。

2、元注解

在创建注解的时候,需要使用一些注解来描述自己创建的注解(即注解的注解),就是写在@interface上面的那些注解,这些注解被称为元注解。

1/** 2* 注解Override.java 3*/ 4@Target(ElementType.METHOD) 5@Retention(RetentionPolicy.SOURCE) 6public @interface Override { 7 8}

(1)@Documented

用于标记在生成javadoc时是否将注解包含进去。

(2)@Inherited

用于表示某个被标注的类型是被继承的。

(3)@Retention(RetentionPolicy.xxx)

注解的声明周期,用于定义注解的存活阶段,可以存活在源码级别、编译级别(字节码级别)、运行时级别。

  • SOURCE:  源码级别,注解只存在源码中,一般用于和编译器交互,用于检测代码。如@Override, @SuppressWarings。
  • CLASS:  字节码级别,注解存在于源码和字节码文件中,主要用于编译时生成额外的文件,如XML,Java文件等,但运行时无法获得。 如mybatis生成实体和映射文件,这个级别需要添加JVM加载时候的代理(javaagent),使用代理来动态修改字节码文件。
  • RUNTIME:  运行时级别,注解存在于源码、字节码、java虚拟机中,主要用于运行时,可以使用反射获取相关的信息。

(4)@Target({ElementType.METHOD, ElementType.TYPE})

用于定义注解可以在什么地方使用,默认可以在任何地方使用,也可以指定使用的范围。

  • TYPE :    类、接口或enum声明
  • FIELD:    域(属性)声明
  • METHOD:    方法声明
  • PARAMETER:    参数声明
  • CONSTRUCTOR:    构造方法声明
  • LOCAL_VARIABLE:   局部变量声明
  • ANNOTATION_TYPE:   注释类型声明
  • PACKAGE:   包声明
点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章通俗易懂的让你彻底理解 Java 注解

很多Java程序员,对Java的注解一知半解,更有甚者,有的人可能连注解是什么都不知道本文我们用最简单的demo,最通俗最短的语言,带你了解注解到底是什么?先来简单回顾一下基础,我们知道,Java的源文件编辑后,生成.class文件,1..Java源文件,这个是源文件时期2.源文件经过编译生成.class字节码文件,这个也是编译时期3

注解和反射

注解和反射1.注解1.1什么是注解?注解和注释的差别在于注解可以被其他程序读取1.2内置注解@Override定义在java.lang.Override中,表示一个方法声明打算重写超类中的另一个方法声明@Deprecated定义在java.lang.Deprecated中,此注解可以用于修辞方法,属性,类,表示不鼓励程序员使用这样的

​一篇文章总结一下Python库中关于时间的常见操作

前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在

JAVA注解

一、初步认识注解1.为什么学习注解?答: a.能够读懂别人写的代码,特别是框架相关的代码        b.让编程更加简洁,代码更加清晰2.注解概念?答:java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法二、java中的常见注解1.JDK自带注解:        a、@Override