Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在构造函数中将字段设置为常量_Java_Constants_Subclass_Final - Fatal编程技术网

Java 如何在构造函数中将字段设置为常量

Java 如何在构造函数中将字段设置为常量,java,constants,subclass,final,Java,Constants,Subclass,Final,因此,我有一个Person类,包含姓名、地址、年龄和电子邮件地址。具有“班级地位(一年级、二年级、三年级、四年级)”的人的亚类学生。我必须将状态定义为常量 class Student extends Person{ private String classStatus; public Student(String name, String address, int age, String email, final String classStatus){ sup

因此,我有一个Person类,包含姓名、地址、年龄和电子邮件地址。具有“班级地位(一年级、二年级、三年级、四年级)”的人的亚类学生。我必须将状态定义为常量

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没有给我任何错误,但是,我觉得我的变量实际上并没有设置为常量。基本上,当我构造一个学生对象时,我还想在参数中包含“新生”、“二年级”、“三年级”或“四年级”,并将classStatus设置为常量

当我写这篇文章时,我意识到如果我没有为classStatus提供一个set方法,那么它本质上已经是一个常量了吗?这是因为它是私人的吗

当我写这篇文章时,我意识到如果我不提供一个集合方法 对于classStatus,它本身就是一个常量吗?这是到期的吗 这是私人的吗

这不是正确的做法,将变量
classStatus
声明为
final

private final String classStatus;
在这种情况下,当您创建Student的实例时,必须提供
类状态
,此后,该实例不能更改