Java 对于字段声明,哪个顺序更好

Java 对于字段声明,哪个顺序更好,java,Java,哪一个顺序更适合现场宣布?一些书指出应该按私有/公共/受保护/等顺序排列,如果以此为基础,第二个代码更好,但看起来不太好。是否包括静态最终风险值或静态风险值?哪个顺序规则是?一个常见的标准是将所有公共变量放在最上面,然后是受保护的,然后是私有的。有些人把类/静态变量放在实例变量之前,有些人把它们放在实例变量之后 如果您在一个正在编写新代码的团队中工作,最好是聚在一起决定一个通用的约定。如果您已经有了要添加到的现有代码,那么请仔细检查并找出以前的作者遵循的约定。您不希望在同一个代码库中混合使用各种

哪一个顺序更适合现场宣布?一些书指出应该按私有/公共/受保护/等顺序排列,如果以此为基础,第二个代码更好,但看起来不太好。是否包括静态最终风险值或静态风险值?哪个顺序规则是?

一个常见的标准是将所有公共变量放在最上面,然后是受保护的,然后是私有的。有些人把类/静态变量放在实例变量之前,有些人把它们放在实例变量之后


如果您在一个正在编写新代码的团队中工作,最好是聚在一起决定一个通用的约定。如果您已经有了要添加到的现有代码,那么请仔细检查并找出以前的作者遵循的约定。您不希望在同一个代码库中混合使用各种样式。

我建议您保持一致,但我更喜欢按字段设置的顺序排列字段,因为这样更容易理解代码并进行调试。伊姆霍

private static final Logger LOGGER = Logger.getLogger(AbstractDbClient.class);

protected Connection connection;


protected Connection connection;

private static final Logger LOGGER = Logger.getLogger(AbstractDbClient.class);

就我个人而言,我喜欢类顶部的所有静态,并且所有字段都是公共的、受保护的、默认的、私有的

乙二醇

我还倾向于在静态字段和非静态字段之间添加一条线


但这是一个意见问题。也许可以问问你的同事,你和谁一起工作。最好在这类事情上保持一致。

数据布局实际上具有性能属性,除了按您觉得合适的顺序排列字段之外。 我倾向于这样做:

  • 静态最终字段
  • 静态场
  • 最终字段
  • 可修改字段
  • 按用例分组的易失性字段
有时

public static final Integer a;
private static final Integer b;

public Integer c;
Integer d
private Integer d;

为什么数据布局很重要。在Java中,除了数组/直接缓冲区之外,没有正式的方法来强制数据布局,但编译器(JVM)通常会将字段按声明顺序放置。

检查在开源项目中是如何完成的。为什么?因为如果你想共享代码(你会这样做),最好以其他人习惯的方式来做。我检查了一些开源代码,但它没有法律。每个编码员都有自己的风格。我知道有些书说应该按访问修饰符对它们进行排序,但我认为常量应该先定义,然后再按访问修饰符对它们进行分组。如果情况是多线程的,那么您不希望修改最后的字段缓存线。总的来说,在并发性方面,数据布局是一件非常重要的事情。让可变字段尽可能明显,这就是我对它们进行分组的原因。
public static final Integer a;
private static final Integer b;

public Integer c;
Integer d
private Integer d;
private field usedOnlyInFoo
method foo(){
}