SonarQube漏洞:明确声明变量的可见性

时间:2019-03-01 07:28:00

标签: java variables sonarqube access-modifiers

众所周知,Java提供了默认的可见性修饰符。据我了解,该修饰符可以像其他修饰符一样使用。但是,为什么SonarQube将默认修饰符标记为漏洞-明确声明“ var”的可见性?

1 个答案:

答案 0 :(得分:2)

看看the rule的描述。

  

无法显式声明成员变量的可见性   可能导致它具有您所不期望的可见性,并且   可能会使它易于被其他类进行意外修改。

如果您有一个私有的类包属性,则同一包中的任何类都可以修改此属性。

但Package private仍具有有效用途。例如,您可能想将一个类声明为私有包,以便可以在声明该包的包中使用该类,但对于公共用途则是隐藏的。