多態的成員的特點

在多態中非靜態成員函數的特點:

在編譯時期:參閱引用類型變量所屬的類中是否有調用的方法.如果有,編譯通過,如果沒有編譯失敗.

在運行時期:參閱對象所屬的類中是否有調用的方法.

簡單的總結就是:成員函數在多態調用時,編譯看左邊,運行看右邊.

 

在多態中,成員變量的特點:

無論編譯和運行,都參考左邊(引用類型所屬的類).

在多態中,靜態成員函數的特點:

無論編譯和運行,都參考左邊.

class A {
int a = 1;
static int b = 2;


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


class B extends A {
int a = 3;


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


class abc {
public static void main(String[] args) {
A abc = new B();
B bcd = new B();
System.out.println("成員變量與引用的類型有關:"+abc.a);
System.out.println("成員變量與引用的類型有關:"+bcd.a);
System.out.println("靜態成員變量與引用的類型有關:"+A.b);
System.out.print("方法與對象所屬的類有關:");
abc.show();
}
}


結果

成員變量與引用的類型有關:1
成員變量與引用的類型有關:3
靜態成員變量與引用的類型有關:2
方法與對象所屬的類有關:B的show

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章