[解決済み] 修飾子staticは定数変数宣言でのみ使用可
2022-02-16 06:36:10
質問
ゲームに使用するコントロールの情報を格納する内部クラスがあります。その中に、コントロールのすべての名前を保持する静的なArrayListを格納したいと思います。しかし、次のエラーが発生しました: "修飾子staticは定数変数の宣言でのみ許可されています"。
private class Control{
public static ArrayList<String> keys = new ArrayList<String>();
public final String key;
public final Trigger trigger;
Control(String k, Trigger t){
key = k;
trigger = t;
keys.add(key);
}
}
ArrayListをクラスから取り出して、メインクラスに格納することで簡単に解決できることは分かっています。しかし、私はすべての情報を1つのクラスで保持し、すべてにアクセスできるようにすることを好みます。
Control.key、Control.trigger、Control.keys"。 よりもエレガントで読みやすい。 "key, trigger, keys"
あるいは、私が強迫性障害なだけかもしれませんが、それでも私は自分のやり方でやりたいと思っています。
解決方法は?
を作成することができます。
Control
クラスは静的です。
private static class Control {
^^^^^^
// Ok to have static members:
public static ArrayList<String> keys = new ArrayList<String>();
...
これは、Java言語仕様に記載されています セクション§8.1.3
8.1.3 内部クラスと包含するインスタンス
内部クラスは、明示的または暗黙的に静的宣言されていないネストされたクラスです。内部クラスは、静的初期化子 (§8.7) やメンバインタフェースを宣言してはいけません。 内部クラスは、コンパイル時定数フィールドでない限り、静的メンバを宣言してはならない。 (§15.28).
関連
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み] import」の後の「static」モディファイアは何を意味するのですか?
-
[解決済み] C++の関数内のスタティック変数のライフタイムは?
-
[解決済み】静的定数文字列(クラスメンバ)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】Javaの未処理例外について
-
[解決済み】javaで無効な文字定数
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件