(資料圖片)
同一個(gè)類(lèi)調(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...子類(lèi)特有的方法")}}class Cat extends Pet{public void eat(){System.out.println("Cat eat...")}public void swim(){System.out.println("Cat swim...子類(lèi)特有的方法")}}
限制對(duì)子類(lèi)特有方法的訪問(wèn)
Pet p=new Dog()//向上轉(zhuǎn)型是子類(lèi)轉(zhuǎn)父類(lèi) 自動(dòng)提升不需要強(qiáng)轉(zhuǎn)p.eat()p.run() //報(bào)錯(cuò) 只能訪問(wèn)到父類(lèi)有的方法 編譯時(shí)看左邊類(lèi)型 運(yùn)行時(shí)看右邊類(lèi)型
使用子類(lèi)特有的方法
Pet p=new Cat()p=(Cat)p //向下轉(zhuǎn)型是父類(lèi)轉(zhuǎn)子類(lèi) 需要強(qiáng)制轉(zhuǎn)換但只能轉(zhuǎn)到運(yùn)行期類(lèi)型(這里是Cat)
標(biāo)簽: