民國112年 地方四等 資訊處理 計算機概要

第29題

將下列兩個java 程式檔案(Ob1.java, Test.java)編譯後,執行java Test,輸出為何?Ob1.java 檔案內容如下:public c…

題目

將下列兩個java 程式檔案(Ob1.java, Test.java)編譯後,執行java Test,輸出為何?Ob1.java 檔案內容如下:public class Ob1{private int x = 3, y = 3;public Ob1(int num){y = 13;}public Ob1(){x = 7;}public void foo(){System.out.print(x+2*y);}}Test.java 檔案內容如下:public class Test{public static void main(String[] args){Ob1 m = new Ob1();m.foo();}} A. 9 B. 13 C. 29 D. 33

官方答案

  • 答案:B. 13

解析

main 方法執行 new Ob1(),呼叫的是無參數建構子,其中把 x 設為 7;y 未被建構子更動,仍為宣告時的初始值 3。呼叫 m.foo() 時輸出 x + 2*y = 7 + 2×3 = 13。若誤用有參數建構子(y 變成 13)會得到 7+26=33(D);若兩個欄位都沿用初始值 3 則得 3+6=9(A);29 並非本題運算可得。因此輸出為 13,答案 B。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。