java工厂方法模式学习
简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。
其实就是将一个具体类的实例化交给一个静态工厂方法来执行,它不属于GOF的23种设计模式,但现实中却经常会用到,而且思想也非常简单。
总结;定义一个接口,多个实现类,一个工厂方法
public interface Human {
void eat();
void sleep();
}
public class WhiteHuman implements Human{
@Override
public void eat() {
System.out.println("白种人吃饭");
}
@Override
public void sleep() {
System.out.println("白种人睡觉");
}
}
public class YellowHuman implements Human{
@Override
public void eat() {
System.out.println("黄种人吃饭");
}
@Override
public void sleep() {
System.out.println("黄种人睡觉");
}
}
public class HumanFactory {
public static Human createHuman(Class tClass) {
try {
return (Human) Class.forName(tClass.getName()).newInstance();
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}
测试:

浙公网安备 33010602011771号