中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多態在java中的實現

發布時間:2020-06-19 13:24:31 來源:億速云 閱讀:197 作者:鴿子 欄目:編程語言

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

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

特點:

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

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

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

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

多態的實現原理

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

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

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

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

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

以上就是java是如何實現多態的的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁海县| 金乡县| 曲麻莱县| 义乌市| 福贡县| 中方县| 呼玛县| 白朗县| 新郑市| 石嘴山市| 津市市| 隆德县| 定南县| 洛扎县| 穆棱市| 惠来县| 前郭尔| 南和县| 金山区| 郎溪县| 广东省| 修文县| 巧家县| 巴南区| 耒阳市| 繁昌县| 河东区| 万山特区| 布拖县| 安达市| 游戏| 英山县| 盐池县| 湖北省| 彰化市| 云浮市| 天气| 乌兰浩特市| 邵武市| 临西县| 铜山县|