当前位置: 首页 > 知识库问答 >
问题:

这是什么意思:“private”修饰符与JLS建议不符

夏谦
2023-03-14

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

私有字段myItem可以是最终的;它只在声明或构造函数中初始化。

private Item myItem;

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

私人修饰符与JLS建议不一致。

final private Item myItem;

有人知道我为什么会收到这个吗?我做了一些研究,但似乎找不到任何东西来解决这个问题。

共有3个答案

宁飞宇
2023-03-14

此警告的原因是不同类型修饰符的顺序,请检查此问题的答案。

对于这种情况,只需将访问修饰符放在最后一个修饰符之前。

方献
2023-03-14

通常的顺序是Private排在最终之前,如下所示:

private final Item myItem;

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

彭俊智
2023-03-14

首先,如果事情在一生中绝对没有改变,那么让它们成为最终的事情是一个很好的实践。这有助于推理对象的可变性。

对于第二个警告,您正在查找JLS第8.1节。1, 8.3.1和8.4。1.

publicprivate应位于static之前,后者应位于final之前。

 类似资料:
  • 我正在使用java反射获取方法,这些方法使用特定注释进行注释。它返回两个方法,其中带有修饰符的方法属于接口。但我检查了修改器规范,在任何地方都找不到...需要帮助,tks:)

  • 问题内容: 当这样使用时: 和之间有什么区别? 问题答案: 静态导入声明类似于普通导入声明。正常的导入声明从包中导入类,从而允许它们在没有包限定的情况下使用,而静态导入声明从类中导入静态成员,从而允许它们在没有类限定的情况下使用。 那么什么时候应该使用静态导入?非常谨慎!仅当您打算以其他方式声明常量的本地副本或滥用继承(常量接口反模式)时,才使用它。换句话说,当您需要频繁访问一两个类的静态成员时,

  • 问题内容: 我是Go的新手,在浏览其他一些线程时遇到了以下代码行: 含义是什么?它是否指定将在if条件中分配某些内容(因为err似乎正在发生这种情况)?我在Wiki上找不到这种语法的示例,并且我很好奇它的用途。 问题答案: 因为返回两个值,所以如果需要它们中的任何一个,都必须在某个地方接收这些值。该是一个占位符,基本的意思是“我不关心这个特殊的返回值。” 在这里,我们只关心检查错误,而无需对实际的

  • 问题内容: 除了标准,,和运营商; 但什么是这些均值(,,,)? 又如何操作? in返回正常的余数模量,但是仅当,为什么会这样?怎么办? 又如何操作?它有什么作用? 问题答案: :求幂 :异或(按位) :模数 :除以积分结果(舍弃余数)

  • 问题内容: 我正在尝试创建一个这样的: Eclipse给了我这个警告:“ 不赞成使用构造函数”。 弃用构造函数是什么意思,我该怎么办? 问题答案: 过时的字面意思是 不赞成的 ,但更准确的翻译将 退休 。 不推荐使用意味着此方法仍然可用,但您不应使用它。 它将逐步淘汰。有一种新方法可以做同样的事情 。不推荐使用的方法带有特殊的Javadoc注释: 用途 : 要么 。 如API文档所建议。

  • 问题内容: 这是什么? 这是不时出现的关于JavaScript语法的问题的集合。这也是社区Wiki, 因此邀请所有人参与维护此列表。 为什么是这样? 堆栈溢出不允许搜索特定字符。结果,在搜索运算符和其他语法标记时,不容易找到许多问题。这也使得关闭重复项变得更加困难。下面的列表可以帮助解决此问题。 主要思想是链接到Stack Overflow上的现有问题,因此我们更容易引用它们,而不是复制ECMAS