1

私はSCJPの準備をしていて、興味深いことを観察しました。

定数は Sun の命名規則に従っていません。

File.separatorChar
File.separator
File.pathSeparatorChar
File.pathSeparator

どのように説明できますか?

おそらく、歴史的な問題か、単なるタイプミスでしょうか?

4

1 に答える 1

4

技術的には、これらのどれも定数ではありません (定数式の定義を参照してください)。定数の値は、コンパイル時に認識されます。大文字とアンダースコアの命名規則は、static finalフィールドだけではなく、実際の定数にのみ適用されると思います。それらが定数ではない理由については、もちろんファイルシステムに依存しており、実行時に現在のファイルシステムを検索する必要があります。

static final(ただし、Java コードでは、技術的に定数であるかどうかに関係なく、すべてのフィールドに同じ命名規則を使用するのが非常に一般的です。)

于 2011-04-22T21:03:22.907 に答える