(資料圖片)
同一個(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...子類特有的方法")}}
限制對(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í)看右邊類型
使用子類特有的方法
Pet p=new Cat()p=(Cat)p //向下轉(zhuǎn)型是父類轉(zhuǎn)子類 需要強(qiáng)制轉(zhuǎn)換但只能轉(zhuǎn)到運(yùn)行期類型(這里是Cat)
標(biāo)簽: