什么是多型?
同一個類呼叫同一個方法會產生不同的影響/結果 這就是多型
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...子類特有的方法")
}
}
為什么向上轉型?
限制對子類特有方法的訪問
Pet p=new Dog()//向上轉型是子類轉父類 自動提升不需要強轉
p.eat()
p.run() //報錯 只能訪問到父類有的方法 編譯時看左邊型別 運行時看右邊型別
為什么向下轉型?
使用子類特有的方法
Pet p=new Cat()
p=(Cat)p //向下轉型是父類轉子類 需要強制轉換但只能轉到運行期型別(這里是Cat)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/550637.html
標籤:其他
上一篇:Flask 背景關系是什么 ?
下一篇:返回列表
