Animal.java
package simpleFactory;
/**
* Created by 华帅 on 2017/9/10.
*/
public abstract class Animal {
public abstract void eat();
}
animalFactory.java
package simpleFactory;
/**
* Created by 华帅 on 2017/9/10.
*/
public class animalFactory {
public static Animal createAnimal(String name){
if("dog".equals(name)){
return new Dog();
}else if ("cat".equals(name)){
return new Cat();
}else {
return null;
}
}
}
Cat.java
package simpleFactory;
/**
* Created by 华帅 on 2017/9/10.
*/
public class Cat extends Animal {
public void eat(){
System.out.println("猫吃鱼");
}
}
Dog.java
package simpleFactory;
/**
* Created by 华帅 on 2017/9/10.
*/
public class Dog extends Animal{
public void eat(){
System.out.println("狗吃肉");
}
}
Test.java
package simpleFactory;
/**
* Created by 华帅 on 2017/9/10.
*/
public class Test {
public static void main(String[] args) {
// Dog d=animalFactory.createDog();
Dog d= (Dog) animalFactory.createAnimal("dog");
d.eat();
Cat c= (Cat) animalFactory.createAnimal("cat");
c.eat();
}
}