これを明確にしたいと思います。違いは何ですか -
private static int STUDENT_AGE = 18;
と
private static final int STUDENT_AGE = 18;
フィールド内?
Jon Skeetは、「特定のインスタンスとはまったく関係がない」と説明しました。わかりました。では、この場合、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;
}