gpt4 book ai didi

java - Annotation接口(interface)的目的是什么?

转载 作者:行者123 更新时间:2023-11-29 04:35:16 26 4
gpt4 key购买 nike

每个注释类型都隐式继承了 java.lang.annotation.Annotation 接口(interface)。

package java.lang.annotation;
public interface Annotation{
boolean equals(Object obj);
int hashCode();
String toString();
Class<? extends Annotation> annotationType();
}

但是注解不继承 Annotation 接口(interface)的任何元素,Annotation 接口(interface)是所有注解类型的隐式祖先。所以,如果我在下面这样做,将导致编译时错误

@CustomAnnotation(toString="toStringValue")

谁能给我解释一下

what is the purpose of Annotation interface? and for what exactly it is used?

最佳答案

Annotation是一个接口(interface)。这些方法是您的标准接口(interface) abstract 方法声明。

你在你的例子中指的是什么

@CustomAnnotation(toString="toStringValue")

(使用toString)是一个annotation type element .这是两个不同的东西。后者是注释类型的特殊语法。 Annotation 不是注解类型,它是接口(interface)类型。

Annotation 类型提供的是注释类型的通用父类(super class)型。所以你可以这样做

Annotation custom = SomeClass.class.getAnnotation(CustomAnnotation.class);
custom.annotationType();

这些方法(equalstoString,和hashCode)只是在Annotation接口(interface)中重新定义来指定他们的行为。它们不是严格要求的,因为 Java 语言隐式 adds all those methods to all interface types如果他们不申报。

关于java - Annotation接口(interface)的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41880797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com