LONGEPASS
Q117.

一Java 程式片段如下,執行後下列何者為其輸出?電腦軟體設計(JAVA) 乙級 Java 第 117 題 題目 圖片

電腦軟體設計(JAVA) · 乙級 · Java · Q117

難易度分析

3 / 5

此題考查 Java 類別繼承與介面實作的基本語法規範,以及區分編譯期錯誤與執行期錯誤的能力,需精確掌握特定類別定義以判定程式是否能通過編譯。

正確答案:④無法編譯

④ 無法編譯:在 Java 中,Thread 是一個類別而非介面,必須使用 `extends Thread` 來繼承,或使用 `implements Runnable` 來實作。使用 `implements Thread` 會導致編譯器報錯 cannot inherit from final class 或類似錯誤,因此無法編譯。

錯誤選項解析

  • ① 印出A:此程式片段因類別 A 錯誤地使用 `implements Thread` 而非 `extends Thread`,導致編譯階段即失敗,根本無法執行到輸出階段。
  • ② 印出無限個A:即使程式能執行,`b.run()` 是直接呼叫方法而非透過 `start()` 啟動執行緒,只會執行一次印出 "A",不會產生無限迴圈。
  • ③ 可編譯,無法執行:此錯誤屬於 編譯期錯誤 而非執行期錯誤,Java 編譯器會直接拒絕編譯,不會產生 `.class` 檔供 JVM 執行。
Learning Tip

"此題常考 extends 與 implements 的區別:Thread 是類別需用 `extends` 繼承,Runnable 是介面需用 `implements` 實作。實務上建議優先使用 `Runnable` 或 `Callable` 介面,避免直接繼承 Thread 類別,以符合物件導向設計原則。另外需注意 `start()` 與 `run()` 的差異:`start()` 會啟動新執行緒並自動呼叫 `run()`,而直接呼叫 `run()` 僅是在原執行緒中執行一般方法。"

學員答題分佈

①印出A0%
②印出無限個A0%
③可編譯,無法執行0%
④無法編譯0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目