Q59.
Java 語言介面(Interface)的所有的方法(method),會使用以下那一個修飾子?
電腦軟體設計(JAVA) · 乙級 · Java · Q59
難易度分析
2 / 5
本題屬於基礎概念的定義記憶,僅需掌握 Java 介面與類別在存取修飾子上的差異即可快速解答,不涉及複雜的邏輯推演。
正確答案:①public
① public:Java 介面中的所有方法預設皆為 public 存取修飾子,即使未明確宣告,編譯器也會自動將其視為 public,以確保實作該介面的類別必須公開這些方法供外部呼叫。
錯誤選項解析
- ② private:private 修飾子會限制方法僅能在同一類別或介面內部存取,這與介面作為公開契約的設計目的相違背;Java 8 起雖允許介面定義 private 方法供預設方法內部呼叫使用,但此為特殊情況,非介面方法的預設修飾子。
- ③ protected:protected 修飾子允許同套件及子類別存取,但介面方法的核心設計是提供公開的實作規範,因此不會使用 protected 作為預設修飾子。
- ④ package:package(預設存取修飾子,即不寫任何關鍵字)僅限同套件內存取,但介面方法必須對所有實作類別公開,因此預設為 public 而非 package-private。
Learning Tip
"此題常考 Java 介面方法的隱含修飾子規則。需特別注意:介面中的欄位預設為 `public static final`,而方法預設為 `public abstract`(Java 8 後新增的 default 與 static 方法除外)。容易混淆的陷阱是將類別的預設存取範圍套用到介面上,切記介面本質上就是公開契約,其方法必定為 public。"
學員答題分佈
①public0%
②private0%
③protected0%
④package0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!