我发现了一个奇怪的注释:
public static @interface WebResult { }
为什么static
在那里?他们是如何编译的?我的IDE不允许这样的修饰符!
这个类包含在javax.jws.WebResult
中。
当它嵌套在另一个类中时是有效的(但不是必需的):
public class Foo {
public static @interface Bar {
}
}
来自Java语言规范第8.5.2节:
成员接口总是隐式静态的。允许在成员接口声明中显式列出静态修饰符,但不是必需的。
如果您在顶级类中看到过它,请在中显示。