2014-04-08 47 views
1

因此,我有一個名稱,地址,年齡和電子郵件地址的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對象時,我還想在參數中包含「新生」,「大二」,「初級」或「高級」,並將classStatus設置爲常量。

當我寫這篇文章的時候,我意識到如果我沒有爲classStatus提供set方法,它本質上是一個常量嗎?這是由於它是私人的嗎?

回答

1

當我寫這個,我意識到,如果我不爲classStatus提供一套方法 ,是它本質上是一個常數了嗎?這是由於 是私人的嗎?

這不是做的正確的方式,宣告您的變量classStatus作爲final

private final String classStatus; 

在這種情況下,你必須提供classStatus,當您創建學生的實例,之後,它不能爲那個例子改變。

相關問題