Java學習筆記69——對多型向下轉型的理解
阿新 • • 發佈:2021-12-11
對多型向下轉型的理解
多型的向下轉型: 存在多型的前提:(缺一不可) 1、要有繼承關係 2、要有方法重寫 3、要有父類的引用指向子類物件 class 曹操{ int age = 50; public void fight(){ System.out.println("赤壁之戰") } } class 曹植 extends 曹操{ int age = 28; public void fight(){ System.out.println("習武練習"); } public void xieShi(){ System.out.println("寫詩,習慣將名字寫在詩的尾部"); } } 某一天,要發生赤壁之戰,曹操拉肚子了,臨時戰場上沒有人指揮,曹植看到了 他立刻換上父親的衣服,貼上假鬍子,假扮父親上戰場指揮。 //這種現象,叫向上轉型,多型的引用 曹操 c = new 曹植(); c.fight(); // "習武練習" //一旦寫詩就暴漏了 //c.xieShi(); 這時候,曹操上完廁所了回來,告知曹植說我回來了。 這時候曹植脫下父親的衣服,撕掉假扮的鬍子,回到自己的身份 //這個現象叫做向下轉型 曹植 c2 = (曹植)c; c.fight(); //這時候就可以寫詩了 c.xieShi();