你的位置:首页 > 软件开发 > Java > JAVA类与对象(九)

JAVA类与对象(九)

发布时间:2016-08-03 18:00:11
多态是同一个行为具有多个不同表现形式或形态的能力。多态性是对象多种表现形式的体现。多态存在的三个必要条件:继承重写父类引用指向子类对象例:Parent p = new Child();当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类 ...

多态是同一个行为具有多个不同表现形式或形态的能力。多态性是对象多种表现形式的体现。

多态存在的三个必要条件:

  • 继承
  • 重写
  • 父类引用指向子类对象

例:Parent p = new Child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

abstract class Animal {   abstract void eat(); }  class Cat extends Animal {   public void eat() {     System.out.println("吃鱼");   }   public void work() {     System.out.println("抓老鼠");   } }  class Dog extends Animal {   public void eat() {     System.out.println("吃骨头");   }   public void work() {     System.out.println("看家");   } } public class Test {  public static void main(String[] args) {   show(new Cat()); // 以 Cat 对象调用 show 方法   show(new Dog()); // 以 Dog 对象调用 show 方法           Animal a = new Cat(); // 向上转型    a.eat();        // 调用的是 Cat 的 eat   Cat c = (Cat)a;    // 向下转型       c.work();    // 调用的是 Cat 的 catchMouse }       public static void show(Animal a) {   a.eat();     // 类型判断    if (a instanceof Cat) { // 猫做的事情       Cat c = (Cat)a;       c.work();     }   else if (a instanceof Dog) { // 狗做的事情       Dog c = (Dog)a;       c.work();     }   } } 

原标题:JAVA类与对象(九)

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。