Animal.java
package com.heima.factory; public interface Animal { public void eat(); } Cat.java package com.heima.factory; public class Cat implements Animal { public void eat() { System.out.println("猫吃鱼"); } } Dog.java package com.heima.factory; public class Dog implements Animal { public void eat() { System.out.println("狗吃屎"); } } MyFactory.java package com.heima.factory; public class MyFactory { public static Animal createAnimal(String kind){ if(kind.equalsIgnoreCase("cat")){ return new Cat(); } else if(kind.equalsIgnoreCase("Dog")){ return new Dog(); } return new Dog(); } } Test.java package com.heima.factory; public class Test { /** * @param args */ public static void main(String[] args) { Cat cat=(Cat) MyFactory.createAnimal("cat"); cat.eat(); Dog dog=(Dog) MyFactory.createAnimal("dog"); dog.eat(); } }