java多型demo

大資料-劉耀文發表於2018-09-06

class Super {

int i = 0;
public Super(String a) {
    System.out.println("A");
    i = 1;
}

public Super() {
    System.out.println("B");
    i += 2;
}

}

public class demo7 extends Super {

public demo7(String a) {
    System.out.println("C");
    i = 5;
}

public static void main(String[] args) {
    int i = 4;
    Super d = new demo7("A");
    System.out.println(d.i);
}

}

//B C 5
//子類demo7中系統預設了一個super(),會先執行父類建構函式,所以B也會列印。


package demo;

class Fu {

int num = 4;

void show() {
    System.out.println("showFu");
}

}

class Zi extends Fu {

int num = 5;

void show() {
    System.out.println("showZi");
}

}

public class demo7 {

public static void main(String[] args) {
    Fu f = new Zi();
    Zi z = new Zi();
    System.out.println(f.num);
    System.out.println(z.num);
    f.show();
    z.show();
}

}

//4 5 showzi showzi
//多型下 當父類與子類定義了同名的屬性:
//成員變數:編譯的時候看父類,執行的時候還是看父類。
//成員方法:編譯的時候看父類,執行的時候看子類。
//靜態的成員方法:編譯執行都看父類。


相關文章