所以我有一个Person类,其中包含名称,地址,年龄和电子邮件地址。具有“班级状态(新生,大二,大三,大四)”的Person的子类Student。我必须将状态定义为常量。
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方法,它本质上已经是一个常数了吗?这是因为它是私有的吗?
最佳答案
在写这篇文章的时候,我意识到如果不提供set方法
对于classStatus,它本身已经是常量吗?这是由于
私有化?
这不是正确的方法,请将变量classStatus
声明为final
private final String classStatus;
在这种情况下,当您创建Student的实例时,必须提供
classStatus
,此后不能更改该实例。