多态:某一事物在同一时刻,体现出来的不同状态。
多态前提: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();
}
}