[解決済み] Javaでクラス変数をオーバーライドする方法はありますか?
2022-04-22 23:16:08
質問
class Dad
{
protected static String me = "dad";
public void printMe()
{
System.out.println(me);
}
}
class Son extends Dad
{
protected static String me = "son";
}
public void doIt()
{
new Son().printMe();
}
関数doItは"dad"を表示します。これを "son" と表示させる方法はありますか?
どのように解決するのですか?
しかし、変数に関わることなので、上書きされます(変数に新しい値を与えること。関数に新しい定義を与えることはOverrideです)。変数の宣言はせず、コンストラクタやスタティックブロックで初期化(変更)すればよいのです。
親クラスのブロックで使用すると、その値が反映されます。
もし変数がstaticであれば、staticブロックを使って初期化時に値を変更します。
class Son extends Dad {
static {
me = "son";
}
}
またはコンストラクタで変更します。
また、どのブロックでも後で値を変更することができます。スーパークラスに反映されます。
関連
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] 派生クラス関数から親クラス関数を呼び出すには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
プロジェクトの依存関係を解決できなかった 解決
-
JQuery DataTable 详解
-
javaでクラスを作成すると、enclosing classでないように見える
-
javaでよく使われる英単語
-
テストが見つかりませんでした
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み] なぜJavaでprotected staticを使用してはいけないのか?