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 - 公共(public)压缩 "will not fit in octal"

python - 两个类定义之间有什么区别

objective-c - 如何在 objective-c 中创建原子函数

java - JFrame 不会显示多个 JPanel

java - 为什么在 Java 中可以在没有竞争条件的情况下并发更新原子变量?

java - 在 Java 中将许多对象引用初始化为默认值的最佳方法(代码风格)

r - 当函数名存储在变量中时如何调用类的函数

javascript - 如何拥有 Class.SubClass.SomeMethod 结构?

properties - 寻找允许 URL 作为输入的文件差异工具

c - FILE类型的对象有哪些属性