簡體   English   中英

如何在構造函數中將字段設置為常量

[英]How do i set a field as constant in the constructor

所以我有一個帶有姓名、地​​址、年齡和電子郵件地址的 Person 類。 具有“班級狀態(新生、大二、大三、大四)”的 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 方法,它是否已經是一個固有的常量? 這是因為它是私人的嗎?

當我寫這篇文章時,我意識到如果我不為 classStatus 提供 set 方法,它是否已經是一個固有的常量? 這是因為它是私人的嗎?

這不是正確的做法,將變量classStatus聲明為final

private final String classStatus;

在這種情況下,您必須在創建 Student 實例時提供classStatus ,此后不能為該實例更改它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM