哪些是Java注释中字段和方法的默认修饰符?

ROM*_*eer 7 java annotations access-modifiers

哪个是默认修饰符for xmin

public @interface Anno {
    int m() default x;
    int x = 10;
}
Run Code Online (Sandbox Code Playgroud)

我想上面的代码相当于:

public @interface Anno {
    public int m() default x;
    public static final int x = 10;
}
Run Code Online (Sandbox Code Playgroud)

修饰语publicpublic static final冗余,但我没有找到官方解释.

我在这里看:https : //docs.oracle.com/javase/8/docs/technotes/guides/language/annotations.html https://docs.oracle.com/javase/tutorial/java/annotations/index. html http://www.vogella.com/tutorials/JavaAnnotations/article.html

有关于这些修饰符的文档吗?或者有人可以提供"正式"解释吗?

Jon*_*eet 5

是的,我相信你是对的 - 我发现支持这一点的一点文档是在JLS 9.6中:

除非在此明确修改,否则适用于普通接口声明的所有规则都适用于注释类型声明.

所以它基本上表现得像普通的接口,在哪里publicabstract多余,所有字段都是隐式静态和最终的.