Java 这意味着什么';私人';修改器与JLS建议不符
在将“final”添加到myItem声明之前,我首先得到了以下警告: 私有字段“myItem”可以成为最终字段;它仅在中初始化 声明或构造函数 添加final后,我得到的警告是: “private”修饰符与JLS建议不符 有人知道我为什么会得到这个吗?Java 这意味着什么';私人';修改器与JLS建议不符,java,eclipse-plugin,field,warnings,Java,Eclipse Plugin,Field,Warnings,在将“final”添加到myItem声明之前,我首先得到了以下警告: 私有字段“myItem”可以成为最终字段;它仅在中初始化 声明或构造函数 添加final后,我得到的警告是: “private”修饰符与JLS建议不符 有人知道我为什么会得到这个吗? 我做了一些研究,但似乎找不到任何解决这个问题的方法。通常的顺序是将private放在final之前,如下所示: private final Item myItem; 如果修饰符的顺序不同,代码的编译和行为仍然相同,但是习惯于JLS建议的标准顺序
我做了一些研究,但似乎找不到任何解决这个问题的方法。通常的顺序是将
private
放在final
之前,如下所示:
private final Item myItem;
如果修饰符的顺序不同,代码的编译和行为仍然相同,但是习惯于JLS建议的标准顺序的人会认为您的代码看起来很奇怪。首先,如果在他们的一生中肯定不会更改,那么最好将事情设置为最终的。这有助于对对象的可变性进行推理 对于第二个警告,请参见第8.1.1、8.3.1和8.4.1节
public
或private
应位于static
之前,后者应位于final
之前。此警告的原因是不同类型修饰符的顺序,请检查
对于这种情况,只需将访问修饰符放在最后一个修饰符之前
final private Item myItem;
private final Item myItem;