2014-04-08 4 views
1

그래서 Person 클래스에 이름, 주소, 나이 및 전자 메일 주소가 있습니다. "class status (신입생, 2 학년, 2 학년, 2 학년)"를 가진 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는 나에게 어떤 오류도주지 않지만 내 변수가 실제로 상수로 설정되지 않은 것 같은 느낌이 든다. 기본적으로 Student 객체를 만들 때 매개 변수에 "freshmen" "sophomore" "junior"또는 "senior"중 하나를 포함시키려는 경우 classStatus를 상수로 설정합니다.

필자가 작성한 것처럼 classStatus에 대한 set 메소드를 제공하지 않으면 본질적으로 이미 상수인가? 이게 사적일까요?

답변

1

필자는이 글을 쓰면서, classStatus에 대해 세트 방법을 제공하지 않으면 본질적으로 상수라는 것을 깨달았습니까? 이것은 에 기한입니까?

그것은 일을 적절한 방법이 아니다, 그것은, 그 후에는 학생의 인스턴스를 만들 때, 당신은 classStatus 제공해야 당신의 변수 classStatus이 경우

private final String classStatus; 

final로 선언하고 해당 인스턴스에 대해 변경할 수 없습니다.

관련 문제