Java常用注解有哪些
在Java编程中,注解是一种用于为代码提供元数据的机制,它们可以用于描述代码的功能、作者、创建日期等信息,以及为编译器、开发工具和框架提供额外的处理逻辑,本文将介绍一些常用的Java注解,帮助你更好地理解和使用注解。
@interface
注解(Annotation)是Java中最基本的注解类型,要定义一个注解,需要使用@interface关键字,后跟注解的名称。
public @interface MyAnnotation { String value() default ""; }
@Retention
@Retention注解用于指定注解的保留策略,它有两个属性:source和value,source属性指定注解的保留范围,可以是Class、Package或Runtime,value属性是一个整数,表示注解的保留周期。
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String value() default ""; }
在这个例子中,MyAnnotation注解将在运行时被保留。
@Target
@Target注解用于指定注解的目标类型,它也有两个属性:elementType和type,elementType属性指定注解可以应用到哪些元素上,如类、方法、字段等,type属性是一个枚举类型,表示注解的目标类型,可以是ElementType.TYPE(类)、ElementType.METHOD(方法)、ElementType.FIELD(字段)等。
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String value() default ""; }
在这个例子中,MyAnnotation注解只能应用到类上。
@Inherited
@Inherited注解表示一个注解可以被子类继承,当一个类使用了被@Inherited注解修饰的父类或接口的注解时,子类也会自动获得这个注解。
import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Inherited @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String value() default ""; }
在这个例子中,如果一个类使用了MyAnnotation注解,那么它的子类也会自动获得这个注解,需要注意的是,@Inherited注解只能用在类或接口上,不能用在方法或字段上,默认情况下,被@Inherited注解修饰的注解不会被保留到运行时,需要显式地使用@Retention(RetentionPolicy.RUNTIME)注解来指定保留策略。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/137247.html