亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Java 多態(tài)(8)

v1 / 2972人閱讀

摘要:在面向?qū)ο蟮某绦蛟O(shè)計(jì)語言中,多態(tài)是繼數(shù)據(jù)抽象和繼承之后的第三種基本特征。

在面向?qū)ο蟮某绦蛟O(shè)計(jì)語言中,多態(tài)是繼數(shù)據(jù)抽象和繼承之后的第三種基本特征。

1.再論向上轉(zhuǎn)型

多態(tài)作用:消除類型之間的耦合關(guān)系.

2.轉(zhuǎn)機(jī)

綁定:將一個(gè)方法調(diào)用同一個(gè)方法主體關(guān)聯(lián)起來.

前期綁定:在程序執(zhí)行前就進(jìn)行綁定(面向過程語言默認(rèn)綁定方式).

后期綁定:也叫動(dòng)態(tài)綁定或運(yùn)行時(shí)綁定,在運(yùn)行時(shí)根據(jù)對象的類型進(jìn)行綁定.

Java中除了static方法和final方法(private方法屬于final方法)之外,其他所有的方法都是后期綁定.

只有普通的方法調(diào)用可以是多態(tài)的(任何域訪問操作都將由編譯器解析,因此不是多態(tài)的).

如果某個(gè)方法是靜態(tài)的,它的行為就不具有多態(tài)性(靜態(tài)方法是與類,而非與單個(gè)的對象相關(guān)聯(lián)的).

3.構(gòu)造器和多態(tài)

構(gòu)造器并不具有多態(tài)性(隱式聲明的static方法).

構(gòu)造器的調(diào)用順序:1.調(diào)用基類構(gòu)造器,反復(fù)遞歸;2.按聲明順序調(diào)用成員的初始化方法;3.調(diào)用導(dǎo)出類構(gòu)造器 的主體.

構(gòu)造器的調(diào)用順序是很重要的.再構(gòu)造器內(nèi)部,必須確保所要使用的成員都已經(jīng)構(gòu)建完畢.

通過組合和繼承方法來創(chuàng)建新類時(shí),永遠(yuǎn)不必?fù)?dān)心對象的清理問題,子對象通常都會(huì)留給垃圾回收器進(jìn)行處理.

對象銷毀的順序應(yīng)該和初始化順序(聲明順序,初始化時(shí)按照聲明順序進(jìn)行的)相反.

對于基類,應(yīng)該首先對其導(dǎo)出類進(jìn)行清理,然后才是基類.

成員對象中存在于其他一個(gè)或多個(gè)對象共享的情況,需要使用"引用計(jì)數(shù)"來跟蹤仍舊訪問者共享的對象數(shù)量.

初始化的實(shí)際過程:1.在其他任何事物發(fā)生之前,將分配給對象的存儲(chǔ)空間初始化成二進(jìn)制的零;2.調(diào)用基類構(gòu)造器;3.按照聲明的順序調(diào)用成員的初始化方法;4.調(diào)用導(dǎo)出類的構(gòu)造器主體.

準(zhǔn)則:用盡可能簡單的方法使對象進(jìn)入正常狀態(tài);如果可以的話,避免調(diào)用其它方法.

在構(gòu)造器內(nèi)部唯一能夠安全調(diào)用的方法是基類中的final方法(也適用于private方法),因?yàn)檫@些方法不能被覆蓋.

4.協(xié)變返回類型

Java SE5中添加了協(xié)變返回類型,它表示在導(dǎo)出類中的被覆蓋方法可以返回基類方法的返回類型的某種導(dǎo)出類型.

5.用繼承進(jìn)行設(shè)計(jì)

不能在運(yùn)行期間決定繼承不同的對象,因?yàn)樗笤诒阋似陂g完全確定下來.

準(zhǔn)則:用繼承表達(dá)行為間的差異,并用字段表達(dá)狀態(tài)上的變化.

純繼承:"is-a",擴(kuò)展:"is-like-a".

擴(kuò)展缺點(diǎn):導(dǎo)出類中接口的擴(kuò)展部分不能被基類訪問,因此,一旦使用向上轉(zhuǎn)型,就不能調(diào)用那些新方法.

向下轉(zhuǎn)型(cast):在繼承層次中向下移動(dòng),能夠獲取類型信息.

Java中所有轉(zhuǎn)型都會(huì)得到檢查.

END

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/71557.html

相關(guān)文章

  • Java編程思想》筆記8.多態(tài)

    摘要:多態(tài)的作用是消除類型之間的耦合關(guān)系。編寫構(gòu)造器準(zhǔn)則用盡可能簡單的方法使對象進(jìn)入正常狀態(tài),如果可以的話,避免調(diào)用其他方法。 點(diǎn)擊進(jìn)入我的博客 在面向?qū)ο蟮某绦蛟O(shè)計(jì)語言中,多態(tài)是繼數(shù)據(jù)抽象(封裝)和繼承之后的第三種基本特征。多態(tài)通過分離做什么和怎么做,從另一角度將接口和實(shí)現(xiàn)分離開來。多態(tài)的作用是消除類型之間的耦合關(guān)系。 8.1 再論向上轉(zhuǎn)型 對象既可以作為它自己的本類使用,也可以作為它的...

    chinafgj 評(píng)論0 收藏0
  • Java面試題:面向?qū)ο?,類加載器,JDBC, Spring 基礎(chǔ)概念

    摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因?yàn)樗瑐€(gè)原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器??梢韵裣旅孢@樣指定參數(shù)面試題面向?qū)ο螅惣虞d器,基礎(chǔ)概念它們的關(guān)系如下啟動(dòng)類加載器,實(shí)現(xiàn),沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺(tái)無關(guān)語言? 平臺(tái)無關(guān)實(shí)際的含義是一次編寫到處運(yùn)行。Java 能夠做到是因?yàn)樗淖止?jié)碼(byte code)可以運(yùn)行在任何操作...

    Euphoria 評(píng)論0 收藏0
  • Java面試題:面向?qū)ο螅惣虞d器,JDBC, Spring 基礎(chǔ)概念

    摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因?yàn)樗瑐€(gè)原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器??梢韵裣旅孢@樣指定參數(shù)面試題面向?qū)ο?,類加載器,基礎(chǔ)概念它們的關(guān)系如下啟動(dòng)類加載器,實(shí)現(xiàn),沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺(tái)無關(guān)語言? 平臺(tái)無關(guān)實(shí)際的含義是一次編寫到處運(yùn)行。Java 能夠做到是因?yàn)樗淖止?jié)碼(byte code)可以運(yùn)行在任何操作...

    longmon 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<