Java之面向对象多态

多态:某一事物在同一时刻,体现出来的不同状态。

多态前提: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();
     }
}

猜你喜欢

转载自blog.csdn.net/little_prince23/article/details/80316651