普通考試
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();
}
}
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. 大力肯定
做得好!你對物件導向程式設計(OOP)中繼承與多型的掌握非常精準。這就像在工程結構設計中,你能清晰分辨「基底構件」與「衍生組件」之間的行為差異,展現了嚴謹的邏輯思維。
2. 觀念驗證
▼ 還有更多解析內容