黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java繼承多態(tài)經(jīng)典案例分享

Java繼承多態(tài)經(jīng)典案例分享

更新時(shí)間:2019-09-17 11:38:09 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3449次


今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享Java繼承多態(tài)經(jīng)典案例,希望通過(guò)此文能夠幫助到大家,下面就隨小編一起看看Java繼承多態(tài)經(jīng)典案例。


public class A {

public String show(D obj) {

return ("A and D");

}

public String show(A obj) {

return ("A and A");

}

}



public class B extends A {

public String show(B obj) {

return ("B and B");

}

public String show(A obj) {

return ("B and A");

}

}



public class C extends B{


}



public class D extends B{


}



public class Demo2 {

public static void main(String[] args) {

A a1 = new A();

A a2 = new B();

B b = new B();

C c = new C();

D d = new D();


System.out.println(a1.show(b)); // A and A  

System.out.println(a1.show(c)); // A and A  

System.out.println(a1.show(d)); // A and D  

System.out.println(a2.show(b)); // B and A  

System.out.println(a2.show(c)); // B and A 

System.out.println(a2.show(d)); // A and D  

System.out.println(b.show(b));  // B and B  

System.out.println(b.show(c));  // B and B  

System.out.println(b.show(d));  // A and D  

}

}


  分析:


  多態(tài)的兩種形式:1、父類(lèi)做形參,子類(lèi)做實(shí)參。2、父類(lèi)的引用指向子類(lèi)的實(shí)例對(duì)象。


  首先分析一個(gè)各個(gè)類(lèi)所具有的方法。


  A:public String show(D obj); public String show(A obj);


  B:public String show(D obj); public String show(A obj); public String show(B obj); public String show(A obj);-(被重寫(xiě))


  C:public String show(D obj); public String show(A obj); public String show(B obj); public String show(A obj);-(被重寫(xiě))


  D:public String show(D obj); public String show(A obj); public String show(B obj); public String show(A obj);-(被重寫(xiě))


  執(zhí)行程序。


  A a1 = new A();A a2 = new B();,a1 是多態(tài)形式1。看如下代碼。System.out.println(a1.show(b));A中的show方法只有D A 做形參,沒(méi)有B做形參的,然而A是B的父類(lèi),所以,這里實(shí)現(xiàn)的是多態(tài)形式1。 System.out.println(a1.show(c));同上一個(gè),A是C的間接父類(lèi)。System.out.println(a1.show(d));由于有D做形參的方法,所以直接使用。


  System.out.println(a2.show(b));這個(gè)比較復(fù)雜, 明確一點(diǎn)很重要:a2是A類(lèi)的引用,只能引用A中已有的方法,沒(méi)有的方法不能引用,有人會(huì)說(shuō)為什么不是 “B and B”,輸出“B and B”的方法是子類(lèi)B的方法,顯然不會(huì)調(diào)用。具體過(guò)程而是查看A中的方法,發(fā)現(xiàn)沒(méi)有以B為參數(shù)的方法,但有以A為參數(shù)的方法,父類(lèi)為形參,這里又是第一種形式的多態(tài),于是就調(diào)用這個(gè)方法,但是這個(gè)方法在B中重寫(xiě)了,所以就會(huì)調(diào)用子類(lèi)的方法輸出“B and A”。System.out.println(a2.show(c));同理,C的間接父類(lèi)是A。System.out.println(a2.show(d)); A中有以D為參數(shù)的方法,直接調(diào)用。


  System.out.println(b.show(b));查看B中有沒(méi)有以B為參數(shù)的方法,直接調(diào)用B的以B為參數(shù)的方法。System.out.println(b.show(c)); 查看B中有沒(méi)有以C為參數(shù)的方法,但是沒(méi)有,于是查找父類(lèi)中有沒(méi)有以B為參數(shù)的方法。也沒(méi)有,于是查找B中有沒(méi)有以父類(lèi)B為參數(shù)的方法,索性,這里有所以就調(diào)用。假設(shè),這里沒(méi)有的話(huà),就會(huì)繼續(xù)查找有沒(méi)有以間接父類(lèi)A為參數(shù)的方法。System.out.println(b.show(d)); 查找B中有沒(méi)有以D為參數(shù)的方法,但是沒(méi)有,于是看看從父類(lèi)繼承來(lái)的方法中有沒(méi)有以D為參數(shù)的方法,顯然有,所以調(diào)用并輸出。


  總結(jié)


  明確多態(tài)的兩種形式,謹(jǐn)記父類(lèi)引用只能調(diào)用父類(lèi)的方法,不能調(diào)用子類(lèi)中的方法。如果調(diào)用到了子類(lèi)的方法,那么一定是子類(lèi)中重寫(xiě)的方法。


  super關(guān)鍵字用于調(diào)用子類(lèi)中從父類(lèi)繼承得到的成員變量和方法,this關(guān)鍵字用于調(diào)用當(dāng)前對(duì)象的屬性和方法。


以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享的“Java繼承多態(tài)經(jīng)典案例”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。


相關(guān)免費(fèi)視頻教程推薦


java繼承視頻教程下載——繼承案例:http://www.ilovecolors.com.cn/xiazai/2606.html


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产视频福利一区 | a亚洲视频| 天天舔天天摸 | 国产亚洲91| sis人成在线视频 | 国产亚洲欧美久久久久 | 成人在线免费小视频 | 手机在线日韩高清理论片 | 区二区三区四区免费视频 | 色午夜视频 | 亚洲精彩视频在线观看 | 国产精品久久久久久一区二区三区 | 99re精彩视频 | 天堂网亚洲 | 一级黄色免费片 | 成人免费视频播放 | 宅男在线午夜影院 | 五月天婷婷精品免费视频 | 日本大臿亚洲香蕉大片 | 超高清欧美videos360 | 国产成人一区二区三区影院免费 | 在线免费视频网站 | 久久精品视频免费播放 | 2018精品国产一区二区 | 国产丝袜视频在线 | 精品欧美一区二区三区精品久久 | 日日摸夜夜添夜夜添aa | 色草在线 | 免费视频不卡一区二区三区 | 成人欧美一区二区三区视频xxx | 性a爱片免费视频性 | 成人免费黄网站 | 免费看大美女大黄大色 | 免费国产高清精品一区在线 | 日韩美女免费线视频 | 小明免费 | 日韩高清欧美精品亚洲 | 欧美一区二区三区四区在线观看 | 久久精品免费 | 一区二区日本视频 | 福利一区二区在线观看 |