[解決済み] private static final fields
2022-02-15 19:55:57
質問
これだけははっきりさせておきたいのですが。の違いは何ですか?
private static int STUDENT_AGE = 18;
そして
private static final int STUDENT_AGE = 18;
をフィールド内に置くのですか?
Jon Skeetは、"not related to a particular instance at all"と説明していますが、なるほどと納得しました。では、この場合、finalは具体的に何をするのでしょうか?
以下のコードが動作しないのは、学生の年齢がstatic finalとして割り当てられているからでしょうか?デフォルトの年齢は一切上書きできないということでしょうか。では、デフォルト以外の年齢を指定するコンストラクタを作ることは可能なのでしょうか?
private String myName;
private String myAddress;
private int myYearEnrolled;
private String myGender;
private static final int STUDENT_AGE = 18;
public Student(String name, String address, int year, String gender) {
myName = name;
myAddress = address;
myYearEnrolled = year;
myGender = gender;
}
public Student(int age)
{
STUDENT_AGE = age;
}
解決方法は?
変数が宣言されると
final
その値は後で変更することはできません。提供されたコードサンプルでは、特定の活動に対する生徒の年齢を定義するための定数が宣言されています。これは、ある活動において、生徒の年齢をこの定数と比較するという条件があることを意味しているのかもしれません。もし学生の年齢が18歳より大きい場合、彼だけが先に進むかどうか許可されます。
関連
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] なぜJavaにはtransientフィールドがあるのですか?
-
[解決済み] Javaにおける静的クラス
-
[解決済み] 静的メソッドを使用する場合
-
[解決済み] Javaリフレクションを用いた静的なプライベートfinalフィールドの変更
-
[解決済み】静的なMapを初期化する方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み】メソッド本体がない、またはJavaで抽象的な宣言をする
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】javaで無効な文字定数
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。