站長資訊網
        最全最豐富的資訊網站

        java是如何實現多態的

        java是如何實現多態的

        多態就是指一個引用變量倒底會指向哪個類的實例對象,該引用變量發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。 (推薦學習:java課程)

        因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。

        特點:

        指向子類的父類引用由于向上轉型了,它只能訪問父類中擁有的方法和屬性,而對于子類中存在而父類中不存在的方法,該引用是不能使用的,盡管是重載該方法。

        若子類重寫了父類中的某些方法,在調用該些方法的時候,必定是使用子類中定義的這些方法(動態連接、動態調用)。

        Java實現多態有三個必要條件:繼承、重寫、向上轉型。

        調用的優先級方法,該優先級為:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。

        多態的實現原理

        Java 里對象方法的調用是依靠類信息里的方法表實現的。

        總體而言,當調用對象某個方法時,JVM查找該對象類的方法表以確定該方法的直接引用地址,有了地址后才真正調用該方法。

        超類繼承父類的方法,如果不Overriding該方法,那么調用時會指向父類的方法。如果Overrding該方法,那么指向該類的代碼區。

        但是超類會存有父類的方法表。

        我們知道java程序運行時,類的相關信息放在方法區,在這些信息中有個叫方法表的區域,該表包含有該類型所定義的所有方法的信息和指向這些方法實際代碼的指針。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品无码一区二区在线| 国产精品人人爽人人做我的可爱| 91精品国产91久久综合| 国产中老年妇女精品| 第一福利永久视频精品| 成人亚洲日韩精品免费视频| 国产精品欧美久久久久无广告 | 亚洲人精品午夜射精日韩| 亚洲国产精品久久| 久草欧美精品在线观看| 亚洲欧美日韩另类精品一区二区三区 | 久久精品国产精品亚洲毛片 | 99久久精品费精品国产| 国产午夜精品视频| 精品久久久久中文字幕一区| 国产偷亚洲偷欧美偷精品 | 色国产精品一区在线观看| 99久久国产综合精品麻豆| 亚洲日韩一页精品发布 | 精品国产一区二区三区AV性色| 综合精品欧美日韩国产在线| 精品日韩欧美国产| 国产精品一区二区久久精品无码| 久久精品国产亚洲一区二区| 蜜臀精品无码AV在线播放 | 综合久久精品色| 亚洲一区精品无码| 亚洲精品无码专区2| 亚洲午夜福利精品无码| 中文字幕精品亚洲无线码一区应用 | 国产精品白丝jkav网站| 国产精品 羞羞答答在线| 国产精品va在线观看无码| 国产亚洲精品精品国产亚洲综合| 国产三级精品三级在线观看| 精品无码久久久久久久久久| 久久久精品久久久久特色影视| 国精无码欧精品亚洲一区| 国产精品女同一区二区| xxx国产精品视频| 99久久这里只有精品|