public?class?Demo1?{
???public?static?void?main(String[]?args)?{
??????Fu?f1?=?new?Fu();
??????f1.show("aa");//編譯通過(guò)
??????System.out.println("----------");
??????Fu?f2?=?new?Zi();
??????f2.show("aa");//編譯通過(guò)
??????System.out.println("----------");
??????Zi?z?=?new?Zi();
//????z.show("aa");//編譯失敗
???}
}
class?Fu?{
???public?void?show(String...args)?{
??????System.out.println("Fu.show()運(yùn)行了");
???}
}
class?Zi?extends?Fu?{
???@Override
???public?void?show(String[]?args)?{
??????System.out.println("Zi.show()運(yùn)行了");
???}
}就是上面這一段,父類有個(gè)帶可變參數(shù)的方法,子類繼承并重寫該方法,但是子類參數(shù)改為數(shù)組按說(shuō)多態(tài)Fu?f2?=?new?Zi();
f2.show("aa");編譯看左邊,運(yùn)行看右邊才對(duì),為什么運(yùn)行時(shí)不會(huì)出錯(cuò),而且確實(shí)執(zhí)行了子類的show方法?
添加回答
舉報(bào)
0/150
提交
取消