IntelliJ IDEA中公共设置器/更改器方法的“访问权限可以为私有”警告消息

时间:2018-12-18 10:16:51

标签: java intellij-idea ide

我有一个带有私有字段和设置这些字段的公共setter方法的公共类。为什么IntelliJ IDEA会警告我说这些设置器方法的访问权限可以是私有的?

enter image description here

3 个答案:

答案 0 :(得分:3)

简单:因为IntelliJ看不到这些方法的任何用法,因此要求它们在您的项目中为public

换句话说:IDE不会“知道”您故意创建了设置者public。只是想而已:对于您现在正在做的事情,您不必这样做。

在编写“真正的”公共API时(可能由以后依赖您的类的第三方使用),可以安全地忽略此信息。因此,您可能只是去禁用该警告,例如,请参见here

除此之外:了解您应该尽可能避免使用公开场合。除非您有“数据bean”类,否则对每个字段都使用setter / getter的做法实际上是。您避免外部人检查内部状态(使用getter),并且非常希望防止外部人覆盖内部状态(使用setter)。

答案 1 :(得分:1)

这意味着它们不会在课堂外使用,也不需要公开。

限制方法的访问权限可以使界面较小,并减少错误爬入程序的可能性。

答案 2 :(得分:0)

IntelliJ IDEA足够智能,可以扫描您的程序包和程序包中的类引用,如果它注意到用法主要包含在某个程序包中,那么它将尝试灌输一些遵守封装原理的准则,在此案例:包裹的私密性。  如果一个类没有修饰符(默认值,也称为package-private),则它仅在其自己的包中可见(包被命名为相关类的组)。