cuiyi's blog(崔毅 crazycy)

          記錄點(diǎn)滴 鑒往事之得失 以資于發(fā)展
          數(shù)據(jù)加載中……

          JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析

          <?示例1>

          題目1

          答案

          ?

          <練習(xí)>

          題目

          答案與分析


          <?示例2>

          哪里會(huì)出錯(cuò)

          ?

          答案


          <示例3>

          題目

          ?

          答案


          分析

          多態(tài):

          Java 中的函數(shù),除了聲明外 final 的外,都是后期綁定。

          所謂綁定是建立“函數(shù)調(diào)用”和“函數(shù)本體”的關(guān)聯(lián)。、

          所謂的后期綁定是指執(zhí)行時(shí)根據(jù)對(duì)象類別而進(jìn)行

          ?

          多態(tài)僅僅對(duì)函數(shù)而言,不對(duì)變量而言

          變量的訪問依賴于編譯期引用指向的類型

          方法的訪問依賴于執(zhí)行期對(duì)象的類型

          ?

          向上轉(zhuǎn)型后,調(diào)用某個(gè)函數(shù),若 derived class overriding 了該函數(shù),則會(huì)調(diào)用該 derived class 中的函數(shù),否則會(huì)調(diào)用 base class 中的函數(shù)

          ?

          向上轉(zhuǎn)型后,只能調(diào)用 base class 中被 derived class overriding 的函數(shù),不能調(diào)用 derived class extend 函數(shù)。

          向上轉(zhuǎn)型后,只能調(diào)用 base class 中的方法,不能調(diào)用 derived class 中的擴(kuò)展方法?

          補(bǔ)記:
          編譯器自始自終對(duì)引用到底指向哪個(gè)型別無能無力,其認(rèn)為指向聲明的型別,這個(gè)是編譯期。
          而java中除了final修飾的方法外,所有函數(shù)都是由“method-cal“的late binding機(jī)制,在執(zhí)行期判知對(duì)象的型別,并調(diào)用相關(guān)的函數(shù),這是執(zhí)行期。

          這個(gè)又如何解釋呢

          答案
          分析


          --------取于 崔毅 之《java編程指南》《java編程思想》學(xué)習(xí)筆記l

          posted on 2006-10-11 17:10 crazycy 閱讀(2828) 評(píng)論(6)  編輯  收藏 所屬分類: JavaSE語言

          評(píng)論

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          我感覺只需要學(xué)習(xí)過SCJP課程的人,做這幾道題都是非常輕松的。
          2006-10-13 07:04 | Supergoal

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          @Supergoal
          呵呵,學(xué)過SCJP的人還是不占大多數(shù)的,畢竟證書是貴的。
          有時(shí)很多實(shí)踐之后,回頭感受這個(gè),往往有一種新的感覺。
          況且實(shí)踐相關(guān)的東西總比被別人教來的好些。
          還有阿,這些東西已經(jīng)不止一次的看過,上次悉心讀java編程指南時(shí)記錄的許多筆記,現(xiàn)在回頭看來依然很有回味。


          介于在這個(gè)地方提到證書,那我也多說一句,曾領(lǐng)略過很多地方的培訓(xùn)中心就是題海戰(zhàn)術(shù),呵呵,不希望由此帶來證書價(jià)值的認(rèn)可。
          2006-10-13 10:48 | crazycy

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          呵呵,小伙越來越強(qiáng)、越來越踏實(shí)了~受教不少。
          2006-10-13 11:51 | coffee

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          不用現(xiàn)金抵押,只要你夠?qū)嵙?www.mylinux.com.cn項(xiàng)目投標(biāo)系統(tǒng)為您提供完善的軟件外包服務(wù).
          2006-10-13 13:59 | 1

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          留個(gè)腳印
          2006-12-04 22:09 | INSOMNIA

          # re: JAVA基礎(chǔ)(一):多態(tài)(overloading & overridding)的分析  回復(fù)  更多評(píng)論   

          寫的很好 找回了記憶~
          謝謝
          2008-10-19 01:31 | redcoatjk
          主站蜘蛛池模板: 龙口市| 邢台市| 阿巴嘎旗| 开原市| 老河口市| 灌云县| 北票市| 古浪县| 高邮市| 开原市| 延吉市| 定日县| 安庆市| 富平县| 福安市| 汤原县| 扎兰屯市| 柞水县| 东阳市| 汾西县| 嘉善县| 农安县| 昆山市| 宿松县| 读书| 中西区| 苍溪县| 涪陵区| 乌拉特后旗| 鄂伦春自治旗| 静乐县| 刚察县| 黄冈市| 铁岭县| 边坝县| 靖宇县| 长汀县| 郯城县| 汾西县| 临城县| 乌兰察布市|