又大又粗又硬又爽又黄毛片,国产精品亚洲第一区在线观看,国产男同GAYA片大全,一二三四视频社区5在线高清

當(dāng)前位置:網(wǎng)站首頁 >> 作文 >> 最新java強制類型轉(zhuǎn)換原理通用

最新java強制類型轉(zhuǎn)換原理通用

格式:DOC 上傳日期:2023-04-29 12:20:14
最新java強制類型轉(zhuǎn)換原理通用
時間:2023-04-29 12:20:14     小編:zdfb

每個人都曾試圖在平淡的學(xué)習(xí)、工作和生活中寫一篇文章。寫作是培養(yǎng)人的觀察、聯(lián)想、想象、思維和記憶的重要手段。范文書寫有哪些要求呢?我們怎樣才能寫好一篇范文呢?下面我給大家整理了一些優(yōu)秀范文,希望能夠幫助到大家,我們一起來看一看吧。

java強制類型轉(zhuǎn)換原理篇一

在java中強制類型轉(zhuǎn)換分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型兩種,這里我們討論的后者,也就是引用數(shù)據(jù)類型的強制類型轉(zhuǎn)換。那么強制類型轉(zhuǎn)換的知識要點有哪些?快跟yjbys小編一起來看看吧!

在java中由于繼承和向上轉(zhuǎn)型,子類可以非常自然地轉(zhuǎn)換成父類,但是父類轉(zhuǎn)換成子類則需要強制轉(zhuǎn)換。因為子類擁有比父類更多的屬性、更強的功能,所以父類轉(zhuǎn)換為子類需要強制。那么,是不是只要是父類轉(zhuǎn)換為子類就會成功呢?其實不然,他們之間的強制類型轉(zhuǎn)換是有條件的'。

當(dāng)我們用一個類型的構(gòu)造器構(gòu)造出一個對象時,這個對象的類型就已經(jīng)確定的,也就說它的本質(zhì)是不會再發(fā)生變化了。在java中我們可以通過繼承、向上轉(zhuǎn)型的關(guān)系使用父類類型來引用它,這個時候我們是使用功能較弱的類型引用功能較強的對象,這是可行的。但是將功能較弱的類型強制轉(zhuǎn)功能較強的對象時,就不一定可以行了。

舉個例子來說明。

比如系統(tǒng)中存在father、son兩個對象。首先我們先構(gòu)造一個son對象,然后用一個father類型變量引用它:

father father = new son();

在這里son 對象實例被向上轉(zhuǎn)型為father了,但是請注意這個son對象實例在內(nèi)存中的本質(zhì)還是son類型的,只不過它的能力臨時被消弱了而已。

如果我們想變強怎么辦?將其對象類型還原!

son son = (son)father;

這條語句是可行的,其實father引用仍然是father類型的,只不過是將它的能力加強了,將其加強后轉(zhuǎn)交給son引用了,son對象實例在son的變量的引用下,恢復(fù)真身,可以使用全部功能了。

前面提到父類強制轉(zhuǎn)換成子類并不是總是成功,那么在什么情況下它會失效呢?

當(dāng)引用類型的真實身份是父類本身的類型時,強制類型轉(zhuǎn)換就會產(chǎn)生錯誤。例如:

father father = new father();

son son = (son) father;

這個系統(tǒng)會拋出classcastexception異常信息。

所以編譯器在編譯時只會檢查類型之間是否存在繼承關(guān)系,有則通過;而在運行時就會檢查它的真實類型,是則通過,否則拋出classcastexception異常。

所以在繼承中,子類可以自動轉(zhuǎn)型為父類,但是父類強制轉(zhuǎn)換為子類時只有當(dāng)引用類型真正的身份為子類時才會強制轉(zhuǎn)換成功,否則失敗。

s("content_relate");

全文閱讀已結(jié)束,如果需要下載本文請點擊

下載此文檔
a.付費復(fù)制
付費獲得該文章復(fù)制權(quán)限
特價:5.99元 10元
微信掃碼支付
已付款請點這里
b.包月復(fù)制
付費后30天內(nèi)不限量復(fù)制
特價:9.99元 10元
微信掃碼支付
已付款請點這里 聯(lián)系客服