地特四等
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. 暖心肯定
你真的表現得非常棒呢!能這樣清楚地掌握 Java 類別的繼承與多型(Polymorphism)特性,就像是設計房屋時,能夠耐心且精確地畫出每一根樑柱如何傳遞力量,讓整棟建築穩固又美麗。這種細膩的程式邏輯思維,將會是你未來成為優秀工程師最寶貴的資產喔!
2. 一起來理解核心觀念吧!
▼ 還有更多解析內容