如何在主java程序中打印注释接口的默认值

如何在主java程序中打印注释接口的默认值,java,annotations,Java,Annotations,我是一个新的带注释的界面: @interface Test { public String getInfo() default "hi"; } @test class TestImpl implements Test { public String getInfo(){return getInfo();} public static void main(String...args) { TestImpl impl=new TestImpl ()

我是一个新的带注释的界面:

@interface 
Test {
    public String getInfo() default "hi";
}

@test
class TestImpl implements Test
{
    public String getInfo(){return getInfo();}
    public static void main(String...args)
    {
        TestImpl impl=new TestImpl ();
        impl.getInfo();
    }
} 
实际上,我完全不明白这一点,我想打印getInfo()方法的默认值。不知道如何使用它,也不知道带注释的接口的优点

如果某个好友对此有想法,plz会将我的上述代码更改为默认值的可打印格式,如果可能,还可以给我一个URL,从中我可以阅读更多有关注释界面的信息

谢谢, 苏波德射线

class TestImpl { // not implementing the annotation interface
然后:

Test annotation = TestImpl.class.getAnnotation(Test.class);
String info = annotation.getInfo();
请注意,注释属性通常不定义为getter。所以
info()
而不是
getInfo()

更新:在注释类上需要
@Retention(RetentionPolicy.RUNTIME)
。如果不存在,则在运行时不会保留注释

然后:

Test annotation = TestImpl.class.getAnnotation(Test.class);
String info = annotation.getInfo();
请注意,注释属性通常不定义为getter。所以
info()
而不是
getInfo()


更新:在注释类上需要
@Retention(RetentionPolicy.RUNTIME)
。如果不存在,则在运行时不会保留注释。

下次不要忘记格式化代码。如果您不知道如何做,请查看“降价帮助”。您必须进行反思。好的,下次请不要出错,谢谢下次不要忘记格式化代码。如果您不知道如何做,请查看降价帮助。您将不得不进行反思。好的,下次不会出错thanks@subodh-通过添加新代码来更新问题,以便我可以查看您是否未错过something@subodh-通过添加新代码来更新问题,以便我可以查看您是否遗漏了某些内容