注释访问修饰符 - 公共与抽象

时间:2016-02-23 09:33:37

标签: java

Java中注释元素的 public abstract 修饰符之间有什么区别。

例如,我们可以使用访问修饰符public作为注释元素:

public @interface MyAnnotation {
    public String element();// declared as public method
}

我们也可以使用访问修饰符abstract作为注释元素:

public @interface MyAnnotation {
    abstract String element();// declared as abstract method
}

我认为默认情况下,注释方法是抽象,还有公共

那些修饰符的实际影响是什么?

5 个答案:

答案 0 :(得分:1)

在java 注释是一种特殊类型的接口。因此遵循接口规则和接口方法默认为publicabstract。尽管默认考虑,您仍然可以明确添加publicabstract修饰符。但它将被视为 冗余

此外,如果您在注释中声明变量,默认情况下它将是finalstatic变量。

答案 1 :(得分:0)

没有影响 - 它只是一个冗余的声明。例如,与接口的方法相同。

答案 2 :(得分:0)

它们都是多余的。正如JLS中所述,接口的方法是abstract,默认情况下是公共的。

答案 3 :(得分:0)

每个interface都隐式abstract。该接口隐式声明了一个公共abstract成员方法。

答案 4 :(得分:0)

注释类型是一种特殊的接口。在接口中,所有方法都隐式地是public和abstract,但是允许明确声明方法是公共的和/或抽象的。但是,将接口方法声明为public或abstract无效。