Q166.
關於Java 類別中的變數,以下那些敘述是正確的?
電腦軟體設計(JAVA) · 乙級 · Java · Q166
難易度分析
3 / 5
本題屬於複選題,要求考生必須對多個 Java 關鍵字及其存取權限有精確且全面的理解。由於選項中包含容易混淆的權限範圍概念,且必須判定所有選項的正誤才能得分,因此在認知負荷上高於單選題。
正確答案 (複選):①, ③, ④
- ① 加上static 修飾詞的變數,代表此變數為所有此類別所產生物件共用的靜態變數,每個物件並不會各自擁有一個相同名稱的變數:static 變數屬於類別本身而非物件實例,所有由該類別建立的物件共享同一塊記憶體空間,因此不會各自擁有獨立副本。
- ③ 1 加上final 修飾詞的變數,代表此變數為常數:final 修飾詞用於變數時表示該變數一旦初始化後即不可更改,即成為常數,這是 Java 中定義常數的標準做法。
- ④ 加上public 修飾詞的變數,代表此變數可以讓其他類別直接存取:public 存取修飾詞具有最寬鬆的存取權限,允許任何其他類別直接讀取或修改該變數,無需透過 getter/setter 方法。
錯誤選項解析
- ② 加上protected 修飾詞的變數,代表此變數受到類別的保護,其他類別都只能透過此類別的方法來存取此變數:protected 存取修飾詞允許同一套件內的類別及不同套件的子類別直接存取該成員,並非只能透過方法存取;真正限制外部直接存取的是 private 修飾詞。
Learning Tip
"本題核心考點為 Java 存取修飾詞(public、protected、private)與 static/final 關鍵字的語意差異。常考陷阱在於混淆 protected 與 private 的存取限制範圍:protected 允許子類別與同套件類別直接存取,而 private 才限制僅能透過該類別自身方法存取。實務上建議將欄位設為 private 並提供 getter/setter 以符合封裝原則。"
學員答題分佈
①加上static 修飾詞的變數,代表此變數為所有此類別所產生物件共用的靜態變數,每個物件並不會各自擁有一個相同名稱的變數0%
②加上protected 修飾詞的變數,代表此變數受到類別的保護,其他類別都只能透過此類別的方法來存取此變數0%
③1 加上final 修飾詞的變數,代表此變數為常數0%
④加上public 修飾詞的變數,代表此變數可以讓其他類別直接存取0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!