阿摩線上測驗 登入

申論題資訊

試卷:103年 - 103 鐵路特種考試_高員三級_資訊處理:程式語言#24841
科目:程式語言
年份:103年
排序:0

題組內容

七、 public class X {public String whatIAm() {return “I’m an X.”;}} public class Y extends X {public String whatIAm() {return “I’m a Y.”;}} public static void main(String[] args) throws IOException { X x; BufferedReader reader = new BufferedReader (new InputStreamReader(System.in)); if (reader.readLine().equals(“Go with X”)) x = new X(); else x = new Y(); System.out.println(x.whatIAm()); } // main

申論題內容

⑴請說明下列 main 程式執行情形。(10 分)

詳解 (共 1 筆)

詳解 提供者:114年高考上榜

以上程式碼創建了兩個類別 X 和 Y,其中 Y 是 X 的子類別。在 main 方法中,根據使用者的輸入決定要創建 X 或 Y 物件,並輸出物件的 whatIAm 方法的返回值。

 
如果使用者輸入 "Go with X",那麼創建的物件是 X,輸出的字串是 "I'm an X.";如果使用者輸入其他任何字串,創建的物件是 Y,輸出的字串是 "I'm a Y."。
 
這個程式展示了多型(polymorphism)的特性,即通過父類別引用變數可以同時引用子類別物件,並且呼叫方法時會動態綁定到實際的物件上。