所有項目

2011年5月26日 星期四

覆寫或稱覆蓋(override)結合super功能的範例

class CDogKind{
private String kind;
void SetKind(String k){
kind = k;
}

void Show(){
System.out.println("寵物種類:"+kind);
}
}

class CDog extends CDogKind{
private String name;
private int age;
void SetName(String n){
name = n;
}
void SetAge(int a){
age = a;
}
void show(){
super.Show();
System.out.println("寵物名字:"+name);
System.out.println("寵物年齡:"+age);
}
}

public class J6_4_2 {
public static void main(String[] ages){
CDog dog = new CDog();
dog.SetKind("米格魯");
dog.SetName("布丁");
dog.SetAge(2);
dog.show();
}
}

答案:
寵物種類:米格魯
寵物名字:布丁
寵物年齡:2

這題目  有  override 和  super的功能。
override 就單的說 就是將 父類別給覆蓋。這題有兩個重點;
第一(override):在CDogKind類別中的Show()這方法,被子類別的CDog給覆蓋了,
第二(super):在子類別CDog中有呼叫  super.Sow()←這樣就會呼叫父類別。(你不相信就用"//"來註解,就會有感覺到差異)

沒有留言:

張貼留言