生活随笔
收集整理的這篇文章主要介紹了
Day11多态部分-2 【1.2 多态的前提】
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【1.2 多態(tài)的前提】*****
-
1.類與類/接口interface 存在關(guān)系,
要不就繼承extends,要不就實(shí)現(xiàn)implements;
2.子類存在重寫
3.父類引用 指向 子類對(duì)象 ? ??
package Day11;public class Test_02 { /* Animal1 c = new Cat1(); //有個(gè)人來給你爸爸去講課 講電工培訓(xùn),但爸爸不在,我又想掙這錢,就易容成我爸爸* show(c);//然后去講課,我只會(huì)講java培訓(xùn),問講的是什么課?,還是Java因?yàn)閷?shí)際講課人是我* Dog1 dd =(Dog1 ) d;//現(xiàn)在女友來找逛街,但我此時(shí)還是易容成我爸爸的樣子,現(xiàn)在偷偷要去卸妝才出來* dd.show2();//然后和女友逛街*//*一個(gè)兒子經(jīng)過化妝成了父親 但他實(shí)際上還是兒子 那么他做的事(行為) 是 兒子做的呢 還是父親做的呢? 顯然還是兒子化了妝的兒子 必須先從'父親'卸妝 成 兒子 才能干兒子特有的事(行為)*/public static void main(String[] args){Animal1 c = new Cat1(); Animal1 d = new Dog1();Animal1 p = new Pig1();show(c);show(d);show(p);//想要調(diào)用其他特有方法,要從動(dòng)物轉(zhuǎn)回貓,才能調(diào)用子類的方法-->強(qiáng)制轉(zhuǎn)換//沒有繼承父類的關(guān)系,因此只能通過 向下轉(zhuǎn)型 來實(shí)現(xiàn)顯示//父類引用 轉(zhuǎn)成 子類類型:向下轉(zhuǎn)型Cat1 cc = (Cat1) c; //語法和 short s = (short ) i 基本數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換相似cc.show1();Dog1 dd =(Dog1 ) d;dd.show2();Pig1 pp =(Pig1) p;pp.show3();/*Animal a10 = new Animal();Cat c = (Cat)a10;錯(cuò)誤!!不能強(qiáng)制將一個(gè)動(dòng)物轉(zhuǎn)成貓不能將父類對(duì)象 轉(zhuǎn)成 子類類型多態(tài) 轉(zhuǎn)的是父類引用 指向了自己的子類對(duì)象時(shí) 該引用可以被提升 也可以被強(qiáng)轉(zhuǎn)多態(tài) 至始至終 都是子類對(duì)象在做著變化(指向和引用都是子類)*/}public static void show(Animal1 tmp){tmp.eat(); }
}abstract class Animal1 {abstract void eat();
}class Cat1 extends Animal1{public void eat(){System.out.println("貓吃魚");}public void show1(){System.out.println("貓抓老鼠");}
}
class Dog1 extends Animal1{public void eat(){System.out.println("狗吃骨頭");}public void show2(){System.out.println("狗看護(hù)家");}}
class Pig1 extends Animal1{public void eat(){System.out.println("豬吃飼料");}public void show3(){System.out.println("豬拱地");}
}
總結(jié)
以上是生活随笔為你收集整理的Day11多态部分-2 【1.2 多态的前提】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。