原文:Java中父類與子類的轉換問題

先看個例子: 上面定義了兩個類,一個是類A,一個是由A派生而來的類B 再看主函數的代碼: 這個不報錯,也符合我們的邏輯,子類賦值給父類,就好比蘋果 子類 是水果 父類 一樣。 接下來才是重點: 這段代碼在編譯時期不會出錯,但運行時期卻報錯了: 報錯說:A類不能轉換成B,為什么 其實 單純的 父類是不能強轉成子類的,這就好比:水果 父類 是蘋果 子類 一樣,不合邏輯。 但是下面這段代碼編譯和運行都不 ...

2018-11-03 23:55 0 4225 推薦指數:

查看詳情

Java父類強制轉換子類的可能

之前徒弟問了一個問題, 在Java, 父類對象到底能不能轉換成對應的子類對象? 到底能不能, 今天就來說說這個問題, 先看下面一段代碼: 上面代碼注釋掉的兩行是會運行錯誤的. 根據代碼顯示, 只有我們的父類對象本身就是用子類new出來的時候, 才可以在將來被強制轉換子類對象 ...

Fri Sep 04 03:57:00 CST 2015 9 33567
JavaList的父類子類如何轉換

目錄 定義 要點: 子類父類 父類子類 定義 A是B的子類,A比B多幾條屬性 要點: A是B的子類,但List<A>不是List<B>的子類。所以想直接轉換是不行的。 子類父類 父類子類 ...

Fri Feb 28 01:04:00 CST 2020 0 3992
Java父類子類集合互相轉換(轉)

(轉至:https://www.cnblogs.com/ledphz/p/12373051.html) 定義 A是B的子類,A比B多幾條屬性 要點: A是B的子類,但List<A>不是List<B>的子類。所以想直接轉換是不行的。 子類父類 父類子類 ...

Tue Jan 25 01:14:00 CST 2022 0 1506
Java父類子類轉換關系 | 父類強轉子類

父類子類 父類強轉子類的要求:父類必須是子類的實例,(換句話說就是需要強轉的父類必須是子類構造出來的,它本身就是子類的實現) 原理:父類的實現是父類的實例,和子類沒有關系,不能直接強轉 父類對象是子類實現 父類對象可以強轉為子類對象 父類對象是父類 ...

Wed May 26 18:46:00 CST 2021 0 2811
[java]Java父類強制轉換子類的原則

Java父類強制轉換子類的原則:父類型的引用指向的是哪個子類的實例,就能轉換成哪個子類的引用。 例: 打印結果:The boy were eating 原因:當Boy實例化后將引用地址返回傳給person,這時person引用實際指向的是Boy,所以將person轉換成Boy能成 ...

Mon Apr 13 05:07:00 CST 2020 0 4758
Java 子類繼承父類成員問題

  之前搞錯了,變量沒有“重寫”一說,只有方法才能被“重寫”。如果我們在子類聲明了一個和父類中一樣的變量,那么實際的情況是,子類的內存堆中會有類型和名字都相同的兩個變量。   現在考慮一種情況,如下所示,我們在子類聲明一個名字與父類變量一樣,但是類型不同的變量i(一個int,一個 ...

Fri Mar 16 01:49:00 CST 2018 0 1359
關於子類父類對象強制轉換問題

子類對象可以賦值給父類對象; 子類包含的成員方法和成員變量 要比 父類的多; 子類包含父類的成員方法和成員變量; 對於類對象的強制轉換,也就是說,必須先將子類定義的對象賦給父類定義的對象之后才能用子類強制轉換 賦給 新的子類對象 class AA{ AA ...

Tue Oct 24 18:28:00 CST 2017 0 1404
父類子類指針相互轉換問題

1.當自己的類指針指向自己類的對象時,無論調用的是虛函數還是實函數,其調用的都是自己的: 2.當指向父類對象的父類指針被強制轉換子類指針時候,子類指針調用函數時,只有非重寫函數是自己的,虛函數是父類的; 3.當指向子類對象的子類指針被強制轉換父類指針的時候,也就是父類指針指向子類對象,此時 ...

Thu Aug 21 04:19:00 CST 2014 0 5806
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM