众所周知,在Java中,存在默认的可见性修饰符。据我所知,这个修饰符可以像其他修饰符一样使用。但是为什么SonarQube将默认修饰符标记为漏洞--显式声明"var“的可见性?
发布于 2019-03-01 07:34:20
看看规则的描述。
如果不能显式声明成员变量的可见性,可能会导致它具有您不期望的可见性,并且可能会让其他类对其进行意外的修改。
如果您拥有类包的私有属性,那么同一包中的任何类都可以修改此属性。
但是包私有仍然有有效的用途。例如,您可能希望将一个类声明为包私有,以便它可以在声明在其中的包中使用,但不受公共使用的影响。
https://stackoverflow.com/questions/54939863
复制相似问题