java - SonarQube 漏洞 : Explicitly declare the visibility for variable

标签 java variables sonarqube access-modifiers

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

最佳答案

看看the rule的描述.

Failing to explicitly declare the visibility of a member variable could result it in having a visibility you don't expect, and potentially leave it open to unexpected modification by other classes.

如果你有一个类包的私有(private)属性,那么同一个包中的任何类都可以修改这个属性。

但是 Package private 仍然有有效的用途。例如,您可能希望将一个类声明为私有(private)包,这样它就可以在声明它的包内使用,但仍对公共(public)使用隐藏。

关于java - SonarQube 漏洞 : Explicitly declare the visibility for variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939863/

相关文章:

svn - Sonar 单片机故障 1 行无故障数据

intellij-idea - IntelliJ IDEA 中的 SonarLint 连接模式错误

java - 如何使用 Spring Boot 防止危险 Controller 包含在生产配置文件中?

java - 从通用静态方法收集数据?

Java - 从内部类内部访问变量

variables - Ansible 有条件地提示输入变量?

Java:执行/cmd/c 启动path-with-spaces\program.exe

php - 将变量从 js 发送到表单,然后发送到 php 文件

Java使用非final变量设置final变量

azure - 使用内置系统变量创建 Powershell 环境变量