- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- java向下轉型基礎知識點(diǎn)及實(shí)例
向下轉型就是父類(lèi)對象轉成子類(lèi)對象。我們把一個(gè)父類(lèi)引用 Animal類(lèi)型的引用 給了一個(gè) Bird類(lèi)型 的引用,這就是向下轉型
子類(lèi) 子類(lèi)對象=(子類(lèi))父類(lèi)實(shí)例
向下轉型的時(shí)候一定要進(jìn)行強制類(lèi)型轉換
class Animal { public String name; public void eat() { System.out.println(this.name + " 正在吃"); } } class Cat extends Animal { } class Bird extends Animal { public int age; public void fly() { System.out.println(this.name+"起飛"); } } public class Test extends TestDemo { public static void main(String[] args) { Animal animal = new Animal(); Bird bird = (Bird) animal;//必須進(jìn)行強制類(lèi)型轉換 } }
Java向下轉型的意義
一開(kāi)始學(xué)習 Java 時(shí)不重視向下轉型。一直搞不清楚向下轉型的意義和用途,不清楚其實(shí)就是不會(huì ),那開(kāi)發(fā)的過(guò)程肯定也想不到用向下轉型。
其實(shí)向上轉型和向下轉型都是很重要的,可能我們平時(shí)見(jiàn)向上轉型多一點(diǎn),向上轉型也比較好理解。
但是向下轉型,會(huì )不會(huì )覺(jué)得很傻,我是要用子類(lèi)實(shí)例對象,先是生成子類(lèi)實(shí)例賦值給父類(lèi)引用,在將父類(lèi)引用向下強轉給子類(lèi)
引用,這不是多此一舉嗎?我不向上轉型也不向下轉型,直接用子類(lèi)實(shí)例就行了。
我開(kāi)始學(xué)習Java時(shí)也是這么想的,這誤區導致我覺(jué)得向下轉型就是沒(méi)用的。
隨著(zhù)技術(shù)的提升,我在看開(kāi)源的項目學(xué)習,發(fā)現很多地方都用了向下轉型的技術(shù),這就讓我重視了起來(lái),想要重新來(lái)復習(學(xué)習)這個(gè)知識點(diǎn)。也是搜索了許多博客文章,但都沒(méi)具體說(shuō)明向下轉型,只是給了例子演示怎么使用,反而是向上轉型講了一堆(可能是我沒(méi)找到)。
到此這篇關(guān)于java向下轉型基礎知識點(diǎn)及實(shí)例的文章就介紹到這了,更多相關(guān)java向下轉型是什么意思內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站