Java 这意味着什么';私人';修改器与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建议的标准顺序

在将“final”添加到myItem声明之前,我首先得到了以下警告:

私有字段“myItem”可以成为最终字段;它仅在中初始化 声明或构造函数

添加final后,我得到的警告是:

“private”修饰符与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;