（1）抽象的动物类Animal，其代码如下：
package ch06_15;
public abstract class Animal {
	private String name;
	public abstract void makeSound();
	public Animal(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
（2）子类Cat（猫），其代码如下：
package ch06_15;
public class Cat extends Animal {
	public Cat() {
		super("小猫");
	}
	@Override
	public void makeSound() {
		System.out.println("MiMi!");
	}
}
（3）子类Dog（狗），其代码如下：
package ch06_15;
public class Dog extends Animal {
	public Dog() {
		super("小狗");
	}
	@Override
	public void makeSound() {
		System.out.println("WangWang!");
	}
}
（4）子类Sheep（羊），其代码如下：
package ch06_15;
public class Sheep extends Animal {
	public Sheep() {
		super("小羊");
	}
	@Override
	public void makeSound() {
		System.out.println("MieMie!");
	}
}
（5）主类，其代码如下：
package ch06_15;
public class TestMain {
	public static void main(String[] args) {
		Animal a1=new Dog();
		Animal a2=new Cat();
		Animal a3=new Sheep();
		System.out.print(a1.getName()+":");
		a1.makeSound();
		System.out.print(a2.getName()+":");
		a2.makeSound();
		System.out.print(a3.getName()+":");
		a3.makeSound();
	}
}
