我正在声明一个字段:
private static final String filename = "filename.txt";
首先,private static final
的顺序是否重要?如果不重要,那么是否有标准的顺序或公约?
其次,我的应用程序中的filename
是固定的。这是存储其值的最佳方式吗?
注意:已经翻译完成,如需其他翻译任务,请提供新的输入。
我在Eclipse中使用Checkstyle,如果声明的顺序与你指定的不同,就会产生警告,引用Java语言规范(JLS)。例如:
private final static String filename = "filename.txt";
结果为
'static' modifier out of order with the JLS suggestions.
他们有这个页面列出了他们期望的顺序,尽管在该页面上跟随链接到JLS后,我没有看到任何支持他们建议顺序的东西。
话虽如此,他们建议的顺序似乎对应于我所见过的大多数代码的顺序,因此它似乎是采用任何一种惯例都可以接受的。
不是特定的顺序,但这通常是我看到的使用方式。
这是一个合理的选择,但有些人更喜欢使用配置文件,可以是Properties或其他文件格式(例如XML)。这样,您可以在不重新编译的情况下更改文件名。
在Java中,给常量(static final
值)命名为全大写是很常见的,所以我会这样写:
private static final String FILENAME = "filename.txt";
另请参阅Java编程语言的代码规范。(这是大多数Java程序员使用的Sun代码规范)。
private static final
。你可以使用PSF模式来记忆这些关键字的顺序:
P => private / public / protected
S => static / abstract / ...
F => final
PSF
助记符是最好的!谢谢 - daparic请查看:http://docs.oracle.com/javase/specs/jls/se5.0/html/classes.html#8.3.1
8.3.1 字段修饰符
字段修饰符:
字段修饰符
字段修饰符 字段修饰符
字段修饰符:其中之一
注释 public protected private
static final transient volatile
...
如果一个字段声明中有两个或更多(不同的)字段修饰符,惯例上,它们应按照 FieldModifier 生产中所示顺序出现,但不是必需的。
顺序并不重要,但你可以随时尝试不同的顺序——只有6种可能需要测试。
我不知道是否有任何惯例,不过我首先放置可见性修饰符(public/private/protected),这样你就可以通过目测来对齐它。
如果它是固定的,那么你可以这么做,但我总是认为某些东西是常量,只有在稍后(例如在测试期间)才会发现我想要传递它。在命令行上或属性文件中的参数都适用于此情况,并且设置最少。