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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 常見問題 java多態性詳解及java多態面試題(附答案)

java多態性詳解及java多態面試題(附答案)

更新時間:2019-09-04 18:28:02 來源:動力節點 瀏覽3889次

  今天動力節點java培訓機構小編為大家分享java多態性詳解及java多態面試題,希望通過此文大家能夠熟練java多態性,下面就隨小編一起看看java多態性詳解及java多態面試題(附答案)吧。

java多態分2種

  (1)編譯時多態(設計時多態):方法重載。

 ?。?)運行時多態:JAVA運行時系統根據調用該方法的實例的類型來決定選擇調用哪個方法則被稱為運行時多態。(我們平時說得多的事運行時多態,所以多態主要也是指運行時多態)

運行時多態存在的三個必要條件:

(1)要有繼承(包括接口的實現);

(2)要有重寫;

(2)父類引用指向子類對象。

  java多態的好處:

 ?。?)可替換性(substitutability)。多態對已存在代碼具有可替換性。例如,多態對圓Circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。

  (2)可擴充性(extensibility)。多態對代碼具有可擴充性。增加新的子類不影響已存在類的多態性、繼承性,以及其他特性的運行和操作。實際上新加子類更容易獲得多態功能。例如,在實現了圓錐、半圓錐以及半球體的多態基礎上,很容易增添球體類的多態性。

 ?。?)接口性(interface-ability)。多態是超類通過方法簽名,向子類提供了一個共同接口,由子類來完善或者覆蓋它而實現的。

 ?。?)靈活性(flexibility)。它在應用中體現了靈活多樣的操作,提高了使用效率。

 ?。?)簡化性(simplicity)。多態簡化對應用軟件的代碼編寫和修改過程,尤其在處理大量對象的運算和操作時,這個特點尤為突出和重要。

  注意:優先級從高到低:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。

  相關面試題:

class A { 

     public String show(D obj)...{ 

        return ("A and D"); 

     } 

     public String show(A obj)...{ 

        return ("A and A"); 

     } 

class B extends A{ 

     public String show(B obj)...{ 

        return ("B and B"); 

     } 

     public String show(A obj)...{ 

        return ("B and A"); 

     } 

class C extends B...{} 

class D extends B...{}

以下輸出結果是什么?

        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));   ① 

        System.out.println(a1.show(c));   ② 

        System.out.println(a1.show(d));   ③ 

        System.out.println(a2.show(b));   ④ 

        System.out.println(a2.show(c));   ⑤ 

        System.out.println(a2.show(d));   ⑥ 

        System.out.println(b.show(b));     ⑦ 

        System.out.println(b.show(c));     ⑧ 

        System.out.println(b.show(d));     ⑨ 

答案

  ① A and A

 ?、?A and A

  ③ A and D

 ?、?B and A

 ?、?B and A

 ?、?A and D

 ?、?B and B

  ⑧ B and B

  ⑨ A and D

  分析:

  做這種題的話要時時刻刻使用那個優先級順序:

  對于第一題:

  a1是A類的一個實例化對象,所以this指向A,然后查找this.show(b),由于沒有這個方法,所以到super.show(b),但是由于A類沒有超類了,所以到this.show(super b),由于b的超類是A,所以相當于this.show(A),然后在A類中查找到了這個方法,于是輸出A and A。

  對于第二題:

  同樣,a1是A類的實例化對象,所以this指向A,然后在A類中查找this.show(C)方法,由于沒有這個方法,所以到了super.show(C),由于A類的超類里面找,但是A沒有超類,所以到了this.show(super C),由于C的超類是B所以在A類里面查找this.show(B)方法,也沒找到,然后B也有超類,就是A,所以查找this.show(A),找到了,于是輸出A and A;

  對于第三題:

  同樣,a1是A類的實例化對象,所以this指向A,然后在A類中找到this.show(D)方法,找到了,所以就輸出A and D;

  對于第四題:

  a2是B類的引用對象,類型為A,所以this指向A類,然后在A類里面找this.show(B)方法,沒有找到,所以到了super.show(B),由于A類沒有超類,所以到了this.show(super B),B的超類是A,即super B = A,所以執行方法this。show(A),在A方法里面找show(A),找到了,但是由于a2是一個類B的引用對象,而B類里面覆蓋了A類的show(A)方法,所以最終執行的是B類里面的show(A)方法,即輸出B and A;

  對于第五題:

  a2是B類的引用對象,類型為A,所以this指向A類,然后在A類里面找this.show(C)方法,沒有找到,所以到了super.show(C)方法,由于A類沒有超類,所以到了this.show(super C),C的超類是B,所以在A類里面找show(B),同樣沒有找到,發現B還有超類,即A,所以還繼續在A類里面找show(A)方法,找到了,但是由于a2是一個類B的引用對象,而B類里面覆蓋了A類的show(A)方法,所以最終執行的是B類里面的show(A)方法,即輸出B and A;

  對于第六題:

  a2是B類的引用對象,類型為A,所以this指向A類,然后在A類里面找this.show(D)方法,找到了,但是由于a2是一個類B的引用對象,所以在B類里面查找有沒有覆蓋show(D)方法,沒有,所以執行的是A類里面的show(D)方法,即輸出A and D;

  對于第七題:

  b是B類的一個實例化對象,首相執行this.show(B),在B類里面找show(B)方法,找到了,直接輸出B and B;

  對于第八題:

  b是B類的一個實例化對象,首相執行this.show(C),在B類里面找show(C)方法,沒有找到,所以到了super.show(c),B的超類是A,所以在A類中找show(C)方法,沒有找到,于是到了this.show(super C),C的超類是B,所以在B類中找show(B)f方法,找到了,所以執行B類中的show(B)方法輸出B and B;

  對于第九題:

  b是B類的一個實例化對象,首相執行this.show(D),在B類里面找show(D)方法,沒有找到,于是到了super.show(D),B的超類是A類,所以在A類里面找show(D)方法,找到了,輸出A and D;

  以上就是動力節點java培訓機構小編介紹的“java多態性詳解及java多態面試題(附答案)”的內容,希望對大家有幫助,如有任何疑問,請在線咨詢,有專業老師隨時為你服務。

相關免費視頻教程推薦

java多態視頻教程下載:http://www.ilovecolors.com.cn/xiazai/2604.html

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 三级黄色片网站 | 免费大黄网站在线看 | 日本老年人精品久久中文字幕 | 久久精品国产亚洲麻豆 | 欧美日批 | 午夜视频福利在线 | 亚洲激情在线视频 | 狠狠色狠狠色很很综合很久久 | 人人做人人爽人人爱 | 天天射美女 | 国产欧美日韩一区二区三区在线 | 欧美成人一区二区三区在线视频 | 国产11一12周岁女毛片 | 成人午夜性a一级毛片美女 成人午夜小视频 | 欧美日韩精品在线 | 91成人在线 | 国产特级全黄一级毛片不卡 | 国产成人亚洲精品 | 大又黄又粗又爽妇女毛片 | 国产日韩视频 | 亚洲影院在线播放 | 丝袜视频在线 | 午夜羞羞影院 | 欧美一区二区二区 | 在线播放国产不卡免费视频 | 最近最新免费中文字幕高清 | 成人看片免费无限观看视频 | 精品久久天干天天天按摩 | 一区二区国产在线播放 | 欧美成人网在线综合视频 | 手机看片欧美日韩 | 国产亚洲精品在天天在线麻豆 | 国产精品免费看久久久久 | 最近的中文字幕大全免费8 最近的中文字幕2019更新 | 伊人中文字幕在线 | 嘿嘿嘿视频在线观看网站 | 好男人午夜www视频在线观看 | 欧产日产国产精品专区 | 成人a毛片久久免费播放 | 午夜影院日韩 | 成年视频xxxxx在线网站 |