我正在尝试查找有关对类属性(例如私有(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)、static
、final
、synchronized
、strictfp
、volatile
、transient
和它们(来自“what allows the compiler”)可以以任何顺序出现。
几天前我进行了谷歌搜索,发现 static final
比 final static
更频繁,所以这有助于订购它们:-)
我认为通常修饰符的这种顺序是最常见的:
- 注释
- 类型参数
- 访问修饰符
静态
最终
transient
(仅针对字段)volatile
(仅适用于变量)同步
(仅用于方法)
我从未使用过 strictfp
或 native
,但我想我会把它们放在 synchronized
周围。
关于java - 类属性声明,属性属性的顺序(最终、私有(private)、静态、类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5041144/