java 向下转型_Java_向下转型
對象一旦向上轉型為父類就無法調用子類的特有方法
解決方法就是用對象的向下轉型
向上轉型過程已經把Teacher當做父類People使用所以如果在Teacher類里面寫一個特有方法我們是無法用 http://Xiaoming.XXX();進行調用
所以向下轉型為原型:
對象向下轉型是一個【還原】的動作
格式:子類名稱 對象名 =(子類名稱)父親對象;
含義:將父類對象還原成本來的子類對象
例子如下
父類:
子類:
我們無法用Xiaoming.music();調用Teacher的特有方法
向下轉型
如果把父類換成Animal 子類換成Cat更好理解
父類中有abstract方法eat;
子類有重寫的abstract方法eat();和特有方法catchMouse()
向上轉型為
Animal animal = new Cat();
Animal.eat()可以成功調用而Animal.catchMouse()不能調用
這時候就需要向下轉型
Cat cat=(Cat)animal,將創建的屬于Animal類的對象animal轉為Cat類的cat對象
就可以用cat.catchMouse();調用法法catchMouse了
向下轉型是有危險的,向下轉型為什么說是還原呢?其實就是你是由什么轉過來的你就應該轉回什么,比如cat→animal,那么你就應該由對象animal→cat,假如還有一個animal的子類叫dog,你如果由animal→dog那么就是錯誤轉型,就像我給了你億元美金,你給回我的是一RMB那么就不是還原了。
總結
以上是生活随笔為你收集整理的java 向下转型_Java_向下转型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kubernetes入门mysql_Ku
- 下一篇: java线程 打印_Java多线程实战之