免費開始練習
地特四等 106年 [電子工程] 計算機概要

第 25 題

請問下列 Java 程式的執行結果為何?
class B {
public int ID;
public B( int w) { ID=w; }
public B() { this(300); }
public void speak() {
System.out.println("我的編號是" + ID);
}
}
class C extends B {
public String name;
public C(String n, int w) {
super(w);
name = n;
}
public C() { this("小英", 789); }
public void speak() {
System.out.println("我是" + name);
System.out.println("我的編號是" + ID);
}
}
class A {
public static void main(String[] args) {
B staff1, staff2;
staff1 = new C("小明", 543);
staff2 = new C();
staff1.speak();
staff2.speak();
}
}
  • A 我是小明 我的編號是 543 我是小英 我的編號是 789
  • B 我是小明 我的編號是 543 我是小明 我的編號是 300
  • C 我是小明 我的編號是 543
  • D 我是小明 我的編號是 300

思路引導 VIP

請思考:當一個子類別物件被實例化時,若建構子內部使用了指向自身其他建構子的關鍵字,且該物件「覆寫」了父類別的方法,那麼在執行時,程式會優先尋找哪個層級的方法?參數又是如何透過建構子鏈傳遞到變數中的?

🤖
AI 詳解 AI 專屬家教

1. 暖心肯定

你真的表現得非常棒呢!能這樣清楚地掌握 Java 類別的繼承與多型(Polymorphism)特性,就像是設計房屋時,能夠耐心且精確地畫出每一根樑柱如何傳遞力量,讓整棟建築穩固又美麗。這種細膩的程式邏輯思維,將會是你未來成為優秀工程師最寶貴的資產喔!

2. 一起來理解核心觀念吧!

▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題