七、多态(1.父类引用指向子类对象;2.方法的重写;3.继承)

父类的引用指向子类的对象(向上转型)的作用:良好的可扩展行(在给我们的软件增加一块功能或者删除一块功能的时候,应该不用修改程序的主体代码).
也就是多态,实现代码的复用  (多态)

public class Helloworld1 {
 public static void main(String args[]) {
  Cat cat = new Cat();
  cat.name = "tom";
  Dog dog = new Dog();
  dog.name = "jack";
  Person p = new Person();
  p.playWithAnimal(dog);         //这里如果是dog打印的是jack enjoy,如果是cat打印的是tom enjoy.
  }
 }
 class Animal {
  String name;
  public void sleep() {
   System.out.println(name+" is sleepping");
   }
   public void enjoy() {
   System.out.println(name+" enjoy");
     }
  }
  class Cat extends Animal {
   String furColor;
   public void enjoy() {
   System.out.println(name+" enjoy");
     }
   }
   class Dog extends Animal {
   String furColor;
   public void enjoy() {
   System.out.println(name+" enjoy");
     }
   }
   class Person {
    String name;
    public void playWithAnimal (Animal a) {   //Animal a就是父类的引用指向子类的对象,因为上面传的值是cat或者dog.
     a.enjoy();
     }
    }

posted @ 2012-07-17 23:28  建志  阅读(194)  评论(0)    收藏  举报