Java 中 modifer public is reduntant for interface methods

?qa=322&qa_1=java-%E4%B8%AD-modifer-public-is-reduntant-for-interface-methods

经常会看到接口上写了public修饰方法,然后IDE,比如:Eclipse或者IDEA经常会提示public是多余的。后来就查了一下。java默认接口的方法是public和abstract的,,所以真没必要。同时,如果你使用private或者protected都会报错。

所以,安心删除public吧。

You cannot have afinalmethod declared in an interface. Fields are alwaysfinalbut methods are alwaysabstract(and neverfinal). You cannot define an interface method that is to be implemented only by classes in the same package.*Fromsection 9.3 of the Java Language Specification:

Every field declaration in the body of an interface is implicitly public, static, and final. It is permitted to redundantly specify any or all of these modifiers for such fields.

and from:

Every method declaration in the body of an interface is implicitly public (§6.6).

Every method declaration in the body of an interface is implicitly abstract, so its body is always represented by a semicolon, not a block.

It is permitted, but discouraged as a matter of style, to redundantly specify the public and/or abstract modifier for a method declared in an interface.

*As Paul Bellora points out in a comment, you can make the interface itself package-private (or protected, or even private) if you want to restrict its visibility.

In addition, an interface can contain constant declarations. All constant values defined in an interface are implicitlypublic,static, andfinal. Once again, you can omit these modifiers.

另外,所有常量值默认都是public static final,不用添加。

趁着有脾气装潇洒,有本钱耍个性,

Java 中 modifer public is reduntant for interface methods

相关文章:

你感兴趣的文章:

标签云: