多態:某一事物在同一時刻,體現出來的不同狀態。
多態前提:1.必須有繼承關係;
2.必須有方法重寫;
3.必須有父類引用指向子類對象.
多態中方法的特點:
成員變量:編譯看左運行看左;
成員方法:編譯看左運行看右;
構造方法:無論是子類還是父類都對方法進行初始化;
靜態方法:編譯看左運行看左。
多態的優點:1.可以提高的複用性(繼承保證);
2.可以提高程序的擴展性(多態保證)。
多態的弊端:不可以訪問子類的特有功能(通過向下轉型解決)。
代碼實現:
class Animals{
int age ;
String color;
public void eat(){
System.out.println("eat");
}
class Cat extends Animals{
public void eat(){
System.out.println("eat fish");
}
public void catchMouse(){
System.out.println("catch mouse");
}
}
class Dog extends Animals{
public void eat(){
System.out.println("eat bone");
}
public void lookDoor(){
System.out.println("look door");
}
}
class DuoTai{
public static void main (String[] args){
Animals c = new Cat ();
c.eat();
Cat cat = (Cat)c;
c.catchMouse();
}
}