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