这是什么意思:'私有'修饰符与JLS建议无序

时间:2016-01-19 21:29:21

标签: java eclipse-plugin field warnings

在将'final'添加到myItem声明之前,我首先收到此警告:

  

私人领域'myItem'可以成为最终的;它只在初始化   声明或构造函数。

private Item myItem;

添加决赛后,这是我得到的警告:

  

'private'修饰符与JLS建议无关。

final private Item myItem;

有谁知道我为什么会这样? 我做了一些研究,但似乎无法找到解决这个问题的任何东西。

3 个答案:

答案 0 :(得分:11)

首先,如果他们在一生中肯定不会改变,那么制作final就是一个好习惯。这有助于推断对象的可变性。

对于第二个警告,您要查找JLS部分8.1.1,8.3.1和8.4.1。

publicprivate应该出现在static之前,final应该出现在int i; Object a + to_string(i); 之前。

答案 1 :(得分:7)

通常的订单是privatefinal之前,如下所示:

private final Item myItem;

如果修饰符的顺序不同,代码仍会编译并表现相同,但习惯于JLS建议的标准顺序的人会认为您的代码看起来很奇怪。

答案 2 :(得分:0)

此警告的原因是不同类型修饰符的顺序,请检查the answer of this question

对于这种情况,只需将访问修饰符放在最终版本之前。