JAVA元注解@interface详解

简介: jdk1.5起开始提供了4个元注解,用来定义自定义注解的注解,它们分别是:@Target指定注解使用的目标范围(类、方法、字段等),其参考值见类的定义:java.lang.annotation.ElementType@Documented指定被标注的注解会包含在javadoc中。

image.png

jdk1.5起开始提供了4个元注解,用来定义自定义注解的注解,它们分别是:


@Target


指定注解使用的目标范围(类、方法、字段等),其参考值见类的定义:java.lang.annotation.ElementType


@Documented


指定被标注的注解会包含在javadoc中。


@Retention


指定注解的生命周期(源码、class文件、运行时),其参考值见类的定义:java.lang.annotation.RetentionPolicy


@Inherited


指定子类可以继承父类的注解,只能是类上的注解,方法和字段的注解不能继承。即如果父类上的注解是@Inherited修饰的就能被子类继承。


jdk1.8又提供了以下两个元注解


@Native


指定字段是一个常量,其值引用native code。


@Repeatable


注解上可以使用重复注解,即可以在一个地方可以重复使用同一个注解,像spring中的包扫描注解就使用了这个。

image.png

所有元注解定义在java.lang.annotation包下面

image.png

其中Annotation是注解的基本接口,所有的注解都继承这个接口。

image.png

看下@Autowired注解的实现

image.png

其实就是继承了Annotation接口。

image.png

相关文章
|
Java 编译器 程序员
Java注解,元注解,自定义注解的使用
本文讲解了Java中注解的概念和作用,包括基本注解的用法(@Override, @Deprecated, @SuppressWarnings, @SafeVarargs, @FunctionalInterface),Java提供的元注解(@Retention, @Target, @Documented, @Inherited),以及如何自定义注解并通过反射获取注解信息。
Java注解,元注解,自定义注解的使用
|
设计模式 Oracle Java
一不小心掉入了 Java Interface 的陷阱
本文作者记录了一次代码中的踩坑经历,一行很简单的代码在不同的场景下可能也暗藏玄机,希望大家看完都有所收获。
Java语言接口(Interface)的深入解析
Java语言接口(Interface)的深入解析
172 0
|
Java
Java 接口(Interface)
Java接口是抽象类型,定义方法规范而无实现。接口通过`interface`关键字定义,包含方法签名和常量。类可实现多个接口,实现接口必须覆盖所有方法。接口常用于多态、回调和模块化。一个类可继承一个抽象类并实现多个接口。接口中的常量默认为`public static final`。注意接口不能实例化,且多个接口同名方法可通过实现类重写避免冲突。接口继承多个接口时,规范冲突则不允许。
230 0
|
Java 编译器
【JAVA学习之路 | 提高篇】接口(interface)
【JAVA学习之路 | 提高篇】接口(interface)
|
Java
java-基础-Interface、abstract类、Static class 、non static class的区别
【4月更文挑战第5天】Java中的接口、抽象类、静态类和非静态类各具特色:接口仅含抽象方法和常量,用于定义行为规范;抽象类可包含抽象和非抽象方法,提供部分实现,支持多继承;静态内部类不依赖外部类实例,可独立存在,访问外部类的静态成员;非静态内部类持有关联外部类引用,能访问其所有成员。这些机制根据设计需求和场景选择使用。
158 6
|
人工智能 Java API
【Java 接口】接口(Interface)的定义,implements关键字,接口实现方法案例
【Java 接口】接口(Interface)的定义,implements关键字,接口实现方法案例
350 0
|
Java
Java(二十一)interface接口
Java(二十一)interface接口
115 0
|
Java
JAVA 抽象类(Abstract Class) 和 接口(Interface) 的区别
对于面向对象编程来说,抽象是它的一大特征之一。在 Java 中,可以通过两种形式来体现 OOP 的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。今天我们就一起来学习一下Java中的接口和抽象类抽象类不能用于实例化对象,抽象类往往用来表示抽象概念。举个例子,中国人(Chinese 类)和美国人(American 类)都有“吃饭”这个行为,因此可以先定义一个 Person 类,然后让 Chinese 和 American 都继承这个类。但如何在父类 Person 中定义“吃饭”这个方法呢?一般
291 0
|
Java
Java面向对象 接口(interface)的详解
Java面向对象 接口(interface)的详解
213 0