父類引用指向子類對象

屬性沒有重寫  但可以覆蓋 重新賦值

屬性沒有多態性  屬性的值 取決於引用類型 

方法可以重寫  方法具有多態性

//繼承就是 子類把 父類的 所有 屬性 方法 搬到子類直接使用  但是private修飾的 子類沒有使用權
//出現父類引用指向子類對象時   體現出屬性不具備覆蓋  方法可以被覆蓋   說白了就是 運行時 方法看子類  屬性看父類
class A
{
	int a = 10;
	public void show()
	{
		System.out.println("父類方法show().>>>>");
	}
}
class B extends A
{
	int a = 20; //B繼承A後給變量a重新賦值    
	public void show()
	{
		System.out.println("子類方法show()覆蓋了父類方法.>>>>"+
	                "子類this.a="+this.a+"	父類super.a="+super.a);
	}
}
public class OverWrite {

	public static void main(String[] args) {
		A t = new B(); //父類引用指向子類對象
		t.show();
		System.out.println("屬性不存在覆蓋,父類變量 "+t.a);
		A f = new A();
		f.show();
	}

}

輸出
子類方法show()覆蓋了父類方法.>>>>子類this.a=20 父類super.a=10
屬性不存在覆蓋,父類變量 10
父類方法show().>>>>





發佈了30 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章