[解決済み] Java修飾語(abstract, final, public, static, etc.)の妥当な順番は?
2022-06-28 02:20:06
質問内容
Java修飾子の合理的な順序は何ですか?
- 抽象
- 最終
- ネイティブ
- プライベート
- プロテクト
- パブリック
- 静的
- strictfp
- シンクロナイズド
- トランジェント
- 揮発性
更新
の文言を変更しました。 推奨 から 妥当 を、推奨されるか否かの議論を沈静化させるためです。
どのように解決するのですか?
この 慣例的な 修飾子の使用順序は Java言語仕様 (そして Java 仮想マシン仕様ではありません) で言及されています。 クラス修飾子 には、次のような定義があります(抜粋)。
<ブロッククオートClassModifiers:
ClassModifier
ClassModifiers ClassModifier
ClassModifier: one of
Annotation public protected private
abstract static final strictfp
[....]
2つ以上の(異なる)クラス修飾子がクラス宣言に現れる場合、必須ではありませんが、ClassModifierのための生産で上に示されたものと一致する順序で現れることが通例です。(段落の一番下にある小さなテキスト!)
この文は、修飾子の使用法が指定されている他のいくつかの場所で見つけることができます。 ここで のように、フィールド修飾子について
更新 : この回答が受け入れられるように、"指定/推奨" を "慣習" に置き換えたのです。コメントを読む場合は、このことを考慮してください ;-) 。(これを明確にしてくれた@EJPに感謝します) - とはいえ I は をお勧めします。 を使用することをお勧めします。 慣習的な の順序になります。
public / protected / private
abstract
static
final
transient
volatile
synchronized
native
strictfp
更新 : 新しい"があります。 Javaスタイルガイドライン OpenJDK コミュニティのプロジェクトのために用意されたものです。また、このガイドラインでは 修飾子の順序 を推奨しており、また、新しい デフォルト 修飾子も含まれています。
public / private / protected
abstract
static
final
transient
volatile
**default**
synchronized
native
strictfp
関連
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
Javaクラスローダーにソースコードから潜り込む
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaにおける "final class "の意味とは?
-
[解決済み] なぜJavaでは静的メソッドを抽象化できないのですか?
-
[解決済み] Javaリフレクションを用いた静的なプライベートfinalフィールドの変更
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
jd-gui Java Exceptionが発生しました。
-
Spring Boot による HTTPS アクセスの設定
-
Dateが型に解決できない問題を解決する
-
javaの模造品QQ WeChatのチャットルーム
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。