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