Java中子類對象賦值給父類變量


1. 在Java中將一個字類對象賦值給父類變量是合法的,這也是實現多態(即方法的動態分派)的前提條件之一。

2. 在Java中父類賦值同樣也適用於數組。可以將一個子類數組賦值給一個父類數組變量。但可能會出現如下的問題:

son[] sons = new son[10];
father[] fathers = sons;
fathers[0] = new father();

上面的代碼編譯時沒有報錯,因為在father[]數組中存儲father對象是合法的。但是,這里fathers和sons引用相同的son[]數組,它不能持有更上層的父類的對象。這個錯誤只能在運行期捕獲,虛擬機會拋出ArrayStoreException異常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM