多態的小盲點
package day07.duotai;
/**
* 多態小盲點:
* 在實例對象本來就是父類實例時 在轉換爲子類型的時候 Zi zi = new Fu();
*
* 若調用父類中的函數是編譯成功的 zi.fuFunction(),若調用子類的函數
* fu.ziFunction()時 ,同時也是成功的;因爲子類型的引用變量上同時又父類和子類型的函數的
*
* 好 接下去我們說重點: 上面所說的 編譯成功的zi.fuFunction()雖然編譯通過,但是按我原先的理解父類型的實例變量調用它自身的
* 父類型的函數fuFunction應該是沒錯的,但是在運行時報錯了,更別說調用子類型的函數了
* @author Administrator
*
*/
public class testfuzi {
public static void main(String [] args)
{
fu f = new fu();
// zi z = new zi();
// fu a = z;
zi b = (zi)f;
b.showfu();// 編譯沒錯 運行時都出錯 ---之前的盲點
b.showzi();//編譯沒錯 運行時都出錯
}
}
/**
* 多態小盲點:
* 在實例對象本來就是父類實例時 在轉換爲子類型的時候 Zi zi = new Fu();
*
* 若調用父類中的函數是編譯成功的 zi.fuFunction(),若調用子類的函數
* fu.ziFunction()時 ,同時也是成功的;因爲子類型的引用變量上同時又父類和子類型的函數的
*
* 好 接下去我們說重點: 上面所說的 編譯成功的zi.fuFunction()雖然編譯通過,但是按我原先的理解父類型的實例變量調用它自身的
* 父類型的函數fuFunction應該是沒錯的,但是在運行時報錯了,更別說調用子類型的函數了
* @author Administrator
*
*/
public class testfuzi {
public static void main(String [] args)
{
fu f = new fu();
// zi z = new zi();
// fu a = z;
zi b = (zi)f;
b.showfu();// 編譯沒錯 運行時都出錯 ---之前的盲點
b.showzi();//編譯沒錯 運行時都出錯
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.