使用情况:不同情况下生成不同实体类
1 创建父类接口
public interface SuperClass {
void work();
}
2 子类
public class FirstSon implements SuperClass {
@Override
public void work() {
System.out.printf("first-son");
}
}
public class SecondSon implements SuperClass {
@Override
public void work() {
System.out.printf("second-son");
}
}
3 创建工厂类
public class ClassFactory {
public static SuperClass getBean(String string) {
if ("first".equals(string)) {
return new ForthClass();
} else if ("second".equals(string)) {
return new SecondSon();
}
return null;
}
}
4 创建
public class Test {
public static void main(String[] args) {
SuperClass first = ClassFactory.getBean("first");
first.work();
}
}