public interface Animal {void eat();}
public class Dog implements Animal {@Overridepublic void eat() {System.out.println("dog eat......");}}
public class AnimalFactory {public static Animal getAnimal(String type) throws ClassNotFoundException, IllegalAccessException, InstantiationException {// test.demo03.factorymode.DogClass<?> aClass = Class.forName(AnimalFactory.class.getPackage().getName() + "." + type);Object o = aClass.newInstance();return (Animal) o;}}
// 利用工厂来获取指定的类
public class Main {public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException {Animal dog = AnimalFactory.getAnimal("Dog");dog.eat();}}
