Q124.
有關Java 語言特性的敘述,下列哪些正確?
電腦軟體設計(JAVA) · 乙級 · Java · Q124
難易度分析
3 / 5
本題為複選題,要求對 Java 物件導向的多項核心特性及其限制有精確的掌握。除了需要理解基本概念外,還必須區分 Java 語言與其他語言在功能支援上的差異,並能辨析特定技術機制的實際目的與效果,因此難度較單一選擇題更高。
正確答案 (複選):①, ②
- ① 封裝(Encapsulation)使物件內的資料易於保護:封裝(Encapsulation) 透過 `private`、`protected` 等存取修飾子隱藏內部實作細節,防止外部直接存取或修改物件狀態,是 物件導向設計 中保護資料完整性的核心機制。
- ② 繼承(Inheritance)使程式易於重用程式碼:繼承(Inheritance) 允許子類別自動擁有父類別的屬性與方法,開發者只需擴充或覆寫特定功能,即可實現 程式碼重用(Code Reusability),有效降低重複開發成本。
錯誤選項解析
- ③ 多重運算子多載(Operation Overloading)提供方便的物件運算功能:Java 不支援運算子多載(Operator Overloading),此為 C++ 的特性。Java 設計刻意为之,目的是避免程式碼可讀性下降與維護困難;若需類似功能,應透過 方法多載(Method Overloading) 或明確的方法命名(如 `add()`、`concat()`)來實現。
- ④ 動態連結(Dynamic Binding)增加程式的執行效率:動態連結(Dynamic Binding / 動態方法分派) 的主要目的是實現 執行時期多態性(Polymorphism),讓 JVM 能根據物件的實際型別呼叫對應方法,而非提升執行效率;事實上,動態分派因需額外查閱虛擬方法表,反而可能帶來微小的效能開銷。
Learning Tip
"本題核心考點為 Java 物件導向三大特性(封裝、繼承、多態) 與 Java 刻意移除的功能。常見陷阱:① Java 不支援 運算子多載 與 多重繼承(類別層面),但可透過 介面(interface) 實現多重實作;② 動態綁定 的價值在於彈性與多態,而非效能優化;③ 區分 編譯期多態(方法多載) 與 執行期多態(方法覆寫 + 動態綁定) 的應用情境。"
學員答題分佈
①封裝(Encapsulation)使物件內的資料易於保護0%
②繼承(Inheritance)使程式易於重用程式碼0%
③多重運算子多載(Operation Overloading)提供方便的物件運算功能0%
④動態連結(Dynamic Binding)增加程式的執行效率0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!