所以我有一个Person类,其中包含姓名,地址,年龄和电子邮件地址。具有"班级状态(新生,大二,大三,大四)和#34;的子类学生。我必须将状态定义为常量。
class Student extends Person{
private String classStatus;
public Student(String name, String address, int age, String email,
final String classStatus){
super(name, address, age, email);
this.classStatus = classStatus;}
这有什么特别的错吗? Eclipse并没有给我任何错误,但是,我觉得我的变量实际上并没有设置为常量。基本上,当我构建一个Student对象时,我想要包括"新生" "大二" "初级"或者"高级"在参数中,它将classStatus设置为常量。
当我写这篇文章的时候,我意识到如果我不为classStatus提供set方法,它本身就已经是常量吗?这是因为它是私人的吗?
答案 0 :(得分:2)
在我写这篇文章时,我意识到如果我不提供一套方法 对于classStatus来说,它本身就是常量吗?这到期了 它是私人的?
这不是一种正确的做法,将变量classStatus
声明为final
private final String classStatus;
在这种情况下,您必须在创建Student实例时提供classStatus
,此后,不能为该实例更改它。