gpt4 book ai didi

java - 如何强制 Java 子类定义注解?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:50:39 24 4
gpt4 key购买 nike

如果一个类定义了一个注解,是否有可能以某种方式强制其子类定义相同的注解?

例如,我们有一个共享 @Author @interface. 的简单类/子类对我想做的是强制每个进一步的子类定义相同的 @Author 注释,防止 RuntimeException 在路上的某个地方。

测试类.java:

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@interface Author { String name(); }

@Author( name = "foo" )
public abstract class TestClass
{
public static String getInfo( Class<? extends TestClass> c )
{
return c.getAnnotation( Author.class ).name();
}

public static void main( String[] args )
{
System.out.println( "The test class was written by "
+ getInfo( TestClass.class ) );
System.out.println( "The test subclass was written by "
+ getInfo( TestSubClass.class ) );
}
}

测试子类.java:

@Author( name = "bar" )
public abstract class TestSubClass extends TestClass {}

我知道我可以在运行时枚举所有注释并检查缺少的 @Author,但我真的很想在编译时执行此操作,如果可能的话。

最佳答案

关于java - 如何强制 Java 子类定义注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619332/

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