• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. java基礎知識:強制類型轉(zhuǎn)換

        時間:2024-10-28 06:15:04 JAVA認證 我要投稿
        • 相關推薦

        java基礎知識:強制類型轉(zhuǎn)換

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

        java基礎知識:強制類型轉(zhuǎn)換

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

          當我們用一個類型的構(gòu)造器構(gòu)造出一個對象時,這個對象的類型就已經(jīng)確定的,也就說它的本質(zhì)是不會再發(fā)生變化了。在Java中我們可以通過繼承、向上轉(zhuǎ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的變量的引用下,恢復真身,可以使用全部功能了。

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

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

          Father father = new Father();

          Son son = (Son) father;

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

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

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

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【java基礎知識:強制類型轉(zhuǎn)換】相關文章:

        asp與js的類型轉(zhuǎn)換函數(shù)09-04

        Java內(nèi)存溢出的類型10-03

        Java的基礎知識07-27

        Java基礎知識詳解09-02

        javascript顯式類型轉(zhuǎn)換的方法分析08-21

        Java入門基礎知識:Java IO(輸入/輸出)09-23

        Java基本數(shù)據(jù)類型09-20

        JAVA認證基礎知識:Java獲取當前的系統(tǒng)時間06-08

        Java基礎知識大集合09-21

        Java基礎知識點歸納08-22

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲aⅴ欧美综合一区二区三区 | 一本色道久久综合亚洲精品 | 日本入室强伦姧bd在线观看 | 亚洲中文字幕在线停止 | 亚洲日韩精品综合在线1 | 亚洲中文字幕自拍一区 |

            java基礎知識:強制類型轉(zhuǎn)換

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

            java基礎知識:強制類型轉(zhuǎn)換

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

              當我們用一個類型的構(gòu)造器構(gòu)造出一個對象時,這個對象的類型就已經(jīng)確定的,也就說它的本質(zhì)是不會再發(fā)生變化了。在Java中我們可以通過繼承、向上轉(zhuǎ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的變量的引用下,恢復真身,可以使用全部功能了。

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

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

              Father father = new Father();

              Son son = (Son) father;

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

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

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