class AnimalFactory{
public static Dog createDog() {
return new Dog();
}
public static Cat createCat() {
return new Cat();
}
public static Animal createAnimal(String name) {
if("Dog".equals(name)) {
return new Dog();
}else if("Cat".equals(name)){
return new Cat();
}else {
return null;
}
}
}
class hello {
public static void main(String[] args) throws IOException, InterruptedException {
Dog d =AnimalFactory.createDog();
d.eat();
Cat c = (Cat) AnimalFactory.createAnimal("Cat");
c.sleep();
}
}
class Cat extends Animal implements Jump, Serializable {
public Cat() {
}
public Cat(String name, int leg) { // TODO Auto-generated constructor stub
super(name, leg);
}
public void eat() { // TODO Auto-generated method stub
System.out.println("猫吃鱼");
}
public void sleep() { // TODO Auto-generated method stub
System.out.println("猫睡觉");
}
public void jump() { // TODO Auto-generated method stub
System.out.println("猫跳高");
}
}
class Dog extends Animal implements Jump, Serializable {
public Dog() {
}
public Dog(String name, int leg) {
super(name, leg);
}
@Override
public void eat() { // TODO Auto-generated method stub
System.out.println("狗吃骨头");
}
@Override
public void sleep() { // TODO Auto-generated method stub
System.out.println("狗睡觉");
}
@Override
public void jump() { // TODO Auto-generated method stub
System.out.println("狗跳高");
}
}
运行结果: