免費開始練習
高考申論題 105年 [資訊處理] 程式語言

第 一 題

一、請問下列 Java 程式碼編譯後輸出結果為何?(20 分)
class tree{
void message(){ System.out.println("1359"); }
int tree(){ System.out.println("Tr"); return 3; }
}
class two extends tree{
void message(){ super.message();
System.out.println("4321"); }
two(){ System.out.println("Tw"); }
}
public class one extends two{
void message(){ System.out.println("1234"); }
one(){ System.out.println("On"); }
public static void main(String[] args){
one Exam = new one();
Exam.message();
}
}
📝 此題為申論題

思路引導 VIP

解題關鍵在於掌握 Java 物件實例化時的「建構子連鎖呼叫(Constructor Chaining)」規則,以及「方法覆寫(Override)」的多型表現。特別注意 tree 類別中的 int tree() 具有回傳型別,這代表它是一個普通方法而非建構子,這是常見的考題陷阱。

🤖
AI 詳解 AI 專屬家教

【解題思路】運用 Java 建構子的連鎖呼叫機制(由上層父類向下執行)與動態方法分派(Dynamic Method Dispatch)的多型原則進行逐步追蹤。 【詳解】 執行流程逐步推導如下:

▼ 還有更多解析內容

🏷️ 相關主題

物件導向程式設計:類別、方法與資料結構
查看更多「[資訊處理] 程式語言」的主題分類考古題

📝 同份考卷的其他題目

查看 105年[資訊處理] 程式語言 全題