3

次の2つの構文順序は、Java内で有効です。なぜ両方が許可され、優先される構文順序があるのですか?

  private final static String consultantType = "consultantType";
  private static final String consultantId = "consultantId";
4

3 に答える 3

8

Java言語仕様のセクション8.3.1には、次のように記載されています。

2つ以上の(別個の)フィールド修飾子がフィールド宣言に表示される場合、必須ではありませんが、FieldModifierの生成で上記に示されている順序と一致する順序で表示されるのが通例です。

の制作FieldModifierは次のとおりです。

FieldModifier:の1つ
    アノテーションパブリックプロテクトプライベート
    静的最終過渡揮発性

private static finalしたがって、あなたの場合、どのような順序でも有効ですが、を使用するのが通例です。

于 2012-11-07T22:27:15.403 に答える
4

順序を制限することに価値がないため、任意の順序が許可されます。それでは、なぜプログラマーに偽の順序を覚えておくという負担をわざわざ課すのでしょうか。

どの順序を使用しても、まったく違いはありません。好みのものを選び、それを一貫して使用し、より興味深い問題に進みます。

その価値については、「プライベートスタティックファイナル」の方がおそらく一般的だと思います。

于 2012-11-07T22:27:12.040 に答える
0

どの注文も有効です。したがって、Checkstyleは、次の順序以外の修飾子に遭遇すると、警告のラベルが付けられます。チェックを参照してModifierOrderください。

  1. public
  2. protected
  3. private
  4. abstract
  5. static
  6. final
  7. transient
  8. volatile
  9. synchronized
  10. native
  11. strictfp
于 2012-11-07T22:41:05.427 に答える