每次我在 Java 中使用比 更多的关键字编写方法时public void
,每次我都以另一种方式编写它。有时“ static public void
”有时“ public static void
”等等。
这些关键字的最佳顺序(最佳做法)是什么?
[ abstract/static
][ final
][ ][ synchronized
][ public/private/protected
][ result_type
]???
每次我在 Java 中使用比 更多的关键字编写方法时public void
,每次我都以另一种方式编写它。有时“ static public void
”有时“ public static void
”等等。
这些关键字的最佳顺序(最佳做法)是什么?
[ abstract/static
][ final
][ ][ synchronized
][ public/private/protected
][ result_type
]???
理论上讲 public static final 或 final static public 都没有关系,但是如果你遵循通常的约定,其他人将能够更容易地阅读你的代码。这是首选顺序:
[公开| 受保护 | 私人的 ]
静止的
抽象的
同步的
[瞬态| 易挥发的 ]
最后
本国的
严格的fp
[诠释| 长 | 字符串 | 班级 | 枚举 | 接口等]
Checkstyle(它实现了 Java 语言规范部分的建议, 8.1.1、8.3.1和8.4.3 )说:
Java语言规范中提到了修饰符的自定义使用顺序 (因此无需有自己的意见;-))例如对于方法修饰符,您会找到以下定义(摘录):
MethodModifiers: MethodModifier MethodModifiers MethodModifier MethodModifier: one of Annotation public protected private abstract static final synchronized native strictfp
如果两个或多个(不同的)方法修饰符出现在方法声明中,尽管不是必需的,但习惯上它们的出现顺序与上面在 MethodModifier 的产生式中显示的顺序一致。
您会在其他几个指定使用修饰符的地方找到这句话,例如此处用于字段修饰符。
(这主要是从我这里的另一个答案中复制的)。
“最好的”是遵循Java Coding Style Guide,它在 6.2 (方法声明)中声明:
public static final synchronized long methodName()
throws ArithmeticException, InterruptedException {
static int count;
}
最好的顺序是其余代码使用的顺序。
像这样:
public static final synchronized void calculate()
是的,有一个标准的排序。
如果您使用 IDE,您可以将其设置为为您格式化代码,即在 Eclipse 中的 Preferences -> Java -> Editor -> Save Actions 中,您可以选中“Format source code”框
那你就不用再担心了。每当保存文件时,它将自动完成,如果您的整个项目都使用它,那么整个项目的代码都以相同的方式格式化。
这是我个人的选择
public static final void method() { }
public void method() { }
public abstract void method() { }
这似乎也符合 java 文档