国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

編譯時(shí)和運(yùn)行時(shí)

yhaolpz / 2834人閱讀

摘要:的引用變量有兩個(gè)類型,一個(gè)是編譯時(shí)類型,一個(gè)是運(yùn)行時(shí)類型,編譯時(shí)類型由聲明該變量時(shí)使用的類型決定,運(yùn)行時(shí)類型由實(shí)際賦給該變量的對象決定。如果編譯時(shí)類型和運(yùn)行時(shí)類型不一致,會出現(xiàn)所謂的多態(tài)。

Java的引用變量有兩個(gè)類型,一個(gè)是編譯時(shí)類型,一個(gè)是運(yùn)行時(shí)類型,編譯時(shí)類型由聲明該變量時(shí)使用的類型決定,運(yùn)行時(shí)類型由實(shí)際賦給該變量的對象決定。如果編譯時(shí)類型和運(yùn)行時(shí)類型不一致,會出現(xiàn)所謂的多態(tài)。因?yàn)樽宇惼鋵?shí)是一種特殊的父類,因此java允許把一個(gè)子類對象直接賦值給一個(gè)父類引用變量,無須任何類型轉(zhuǎn)換,或者被稱為向上轉(zhuǎn)型,由系統(tǒng)自動完成。

引用變量在編譯階段只能調(diào)用其編譯時(shí)類型所具有的方法,但運(yùn)行時(shí)則執(zhí)行它運(yùn)行時(shí)類型所具有的方法,因此,編寫Java代碼時(shí),引用變量只能調(diào)用聲明該變量所用類里包含的方法。與方法不同的是,對象的屬性則不具備多態(tài)性。通過引用變量來訪問其包含的實(shí)例屬性時(shí),系統(tǒng)總是試圖訪問它編譯時(shí)類所定義的屬性,而不是它運(yùn)行時(shí)所定義的屬性。

所謂的編譯期,就是將Java代碼編譯成.class文件的過程,該過程只涉及到語法句法的正確與否,不涉及內(nèi)存方面及執(zhí)行方面的檢查。
所謂的運(yùn)行期,就是Java虛擬機(jī)執(zhí)行.class文件的過程。該過程會涉及到內(nèi)存調(diào)用。實(shí)際類型檢查等方面。

關(guān)于動態(tài)綁定,在調(diào)用該引用實(shí)例的方法的時(shí)候,會優(yōu)先去調(diào)用該實(shí)例引用的運(yùn)行時(shí)方法,也就是實(shí)際類型的方法。而在調(diào)用該引用實(shí)例的成員變量的時(shí)候,會優(yōu)先去調(diào)用該實(shí)例應(yīng)用的編譯時(shí)的成員變量,也就是聲明的類型的成員變量。對于,調(diào)用引用實(shí)例的方法,在編譯時(shí),是調(diào)用聲明類型的成員方法(多態(tài)的實(shí)現(xiàn)原理),也就是所謂的編譯時(shí)類型的方法,而到了運(yùn)行時(shí),調(diào)用的是實(shí)際的類型的成員方法,也就是所謂的運(yùn)行時(shí)類型的方法。而對于調(diào)用引用實(shí)例的成員變量,在編譯時(shí),即是調(diào)用聲明類型的成員變量,在運(yùn)行時(shí)更是調(diào)用聲明類型的成員變量,也就時(shí)說,對于調(diào)用引用實(shí)例的成員變量,無論是編譯時(shí)還是運(yùn)行時(shí),均是調(diào)用編譯時(shí)類型的成員變量。

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

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/66105.html

相關(guān)文章

  • Go 1.17 發(fā)布,主要更新了工具鏈、運(yùn)行時(shí)庫的實(shí)現(xiàn)

    摘要:主要更新在工具鏈運(yùn)行時(shí)和庫的實(shí)現(xiàn)方面。類型的表達(dá)式現(xiàn)在可以被轉(zhuǎn)換為數(shù)組指針類型。特別是,正確使用的現(xiàn)有程序仍然有效,而新程序在使用或時(shí)仍然必須遵循規(guī)則。請注意,從到數(shù)組指針的新轉(zhuǎn)換是類型轉(zhuǎn)換在運(yùn)行時(shí)可能發(fā)生恐慌的第一種情況。 .markdown-body{color:#595959;font-size:15px;font-family:-apple-system,system-ui...

    longmon 評論0 收藏0
  • JavaScript如何工作:引擎,運(yùn)行時(shí)調(diào)用堆棧的概述

    摘要:如果我們進(jìn)入一個(gè)函數(shù),我們在堆棧的頂部。看看下面的代碼當(dāng)引擎開始執(zhí)行此代碼時(shí),調(diào)用堆棧將為空。之后,步驟如下調(diào)用堆棧中的每個(gè)條目稱為堆棧幀。這正是拋出異常時(shí)構(gòu)造堆棧跟蹤的方式當(dāng)異常發(fā)生時(shí),它基本上是調(diào)用堆棧的狀態(tài)。 隨著JavaScript越來越受歡迎,團(tuán)隊(duì)正在利用這個(gè)技術(shù)棧在多個(gè)層次- 前端,后端,混合應(yīng)用程序,嵌入式設(shè)備等等提供支持。 這篇文章旨在成為系列中第一個(gè)旨在深入挖掘Jav...

    wwolf 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<