注释类"public static @interface"中的静态关键字是什么?



我发现了一个奇怪的注释:

public static @interface WebResult { }

为什么static在那里?他们是如何编译的?我的IDE不允许这样的修饰符!

这个类包含在javax.jws.WebResult中。

当它嵌套在另一个类中时是有效的(但不是必需的):

public class Foo {   
    public static @interface Bar {
    }    
}

来自Java语言规范第8.5.2节:

成员接口总是隐式静态的。允许在成员接口声明中显式列出静态修饰符,但不是必需的。

如果您在顶级类中看到过它,请在中显示

最新更新