21.多态
多态:可以理解为事物存在的多种体现形态。
人:男人,女人
动物:猫,狗
猫 x=new 猫 ();
动物 x=new 猫();
1.多态的体现
父类的引用指向子类的对象
父类的引用也可以接收
2.多态的前提
必须是类与类之间有关系,要么有继承关系,要么有实现关系
通常还有个前提:存在覆盖。
3.多态的好处
多态的出现大大提高了程序的扩展性
4.多态的弊端:
提高了扩展性,但是只能使用父类的引用访问父类中的成员,不能预先使用子类。
5.多态的应用
public class DuoTai_01 { public static void main(String[] args) { // TODO Auto-generated method stub Animal c=new Cat(); function(c); } public static void function(Animal a){ a.eat(); } } abstract class Animal{ abstract void eat(); } class Cat extends Animal{ public void eat(){ System.out.println("eat fish"); } public void catchMouse(){ System.out.println("抓老鼠"); } } class Dog extends Animal{ void eat() { System.out.println("eat bone"); } public void kenBone(){ System.out.println("啃骨头"); } } class Pig extends Animal{ void eat(){ System.out.println("饲料"); } public void gongDi(){ System.out.println("拱地"); } }