頻道 > 生活 >   >  正文

關(guān)于Java中對(duì)象的向上轉(zhuǎn)型和向下轉(zhuǎn)型_看熱訊

評(píng)論


(資料圖片)

什么是多態(tài)?

同一個(gè)類調(diào)用同一個(gè)方法會(huì)產(chǎn)生不同的影響/結(jié)果 這就是多態(tài)

public class Pet{public void eat(){System.out.println("Pet eat...")}}class Dog extends Pet{public void eat(){System.out.pringln("Dog eat...")}public void run(){System.out.pringln("Dog run...子類特有的方法")}}class Cat extends Pet{public void eat(){System.out.println("Cat eat...")}public void swim(){System.out.println("Cat swim...子類特有的方法")}}

為什么向上轉(zhuǎn)型?

限制對(duì)子類特有方法的訪問

Pet p=new Dog()//向上轉(zhuǎn)型是子類轉(zhuǎn)父類 自動(dòng)提升不需要強(qiáng)轉(zhuǎn)p.eat()p.run() //報(bào)錯(cuò) 只能訪問到父類有的方法 編譯時(shí)看左邊類型 運(yùn)行時(shí)看右邊類型

為什么向下轉(zhuǎn)型?

使用子類特有的方法

Pet p=new Cat()p=(Cat)p //向下轉(zhuǎn)型是父類轉(zhuǎn)子類 需要強(qiáng)制轉(zhuǎn)換但只能轉(zhuǎn)到運(yùn)行期類型(這里是Cat)

標(biāo)簽:

今日熱點(diǎn)

熱點(diǎn)排行

最近更新

所刊載信息部分轉(zhuǎn)載自互聯(lián)網(wǎng),并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。郵箱:5855973@qq.com

聯(lián)系我們| 中國(guó)品牌網(wǎng) | 滬ICP備2022005074號(hào)-18 營(yíng)業(yè)執(zhí)照  Copyright © 2018@. All Rights Reserved.