java - 类属性声明,属性属性的顺序(最终、私有(private)、静态、类型)

标签 java class properties

我正在尝试查找有关对类属性(例如私有(private)/ protected /公共(public)、最终、静态、类型)的属性进行排序的最佳方式的文档。

我将发布一个示例以了解我的意思。

class A {

  public final static int FOO = 3;

  final public static int FOO = 3;

}

好的,我假设属性类型(int、String、char)位于属性名称之前。

我真正怀疑的是当我尝试定位 static、final 和 v

最佳答案

语言规范只说修饰符必须在类型之前,因此 int 排在最后。 修饰符包括类型参数、注解、访问修饰符(private、protected、public)、staticfinalsynchronizedstrictfpvolatiletransient 和它们(来自“what allows the compiler”)可以以任何顺序出现。

几天前我进行了谷歌搜索,发现 static finalfinal static 更频繁,所以这有助于订购它们:-)

我认为通常修饰符的这种顺序是最常见的:

  1. 注释
  2. 类型参数
  3. 访问修饰符
  4. 静态
  5. 最终
  6. transient(仅针对字段)
  7. volatile(仅适用于变量)
  8. 同步(仅用于方法)

我从未使用过 strictfpnative,但我想我会把它们放在 synchronized 周围。

关于java - 类属性声明,属性属性的顺序(最终、私有(private)、静态、类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041144/

相关文章:

java - 使用 Calendar 类获取 Java 中特定日期的星期几作为字符串

python - 是否真的有必要对比较相同的类进行哈希处理?

c# - 通用属性——如何在运行时指定类型

c# - "Item"属性以及索引器

java - 如何正确中断正在读取用户输入的 Java 线程?

java - 找不到用于导入的 jar 文件

python - 多处理不保留结果

properties - Kotlin - 可为空的属性默认为空值

java - 重定向的 input.txt 文件的内容未显示在命令提示符中

javascript - 如何使用 Traceur 在 ES6 类中实现私有(private)方法