public interface IProduct {
void product();
}
public class ProductA implements IProduct {
public void product() {
System.out.println("create product A finish");
}
}
public class ProductB implements IProduct {
public void product() {
System.out.println("create productB finish");
}
}
public class SimpleFactory {
public IProduct create(Class<? extends IProduct> clazz){
if(clazz!=null){
try {
return clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
}
SimpleFactory simpleFactory=new SimpleFactory();
IProduct product = simpleFactory.create(ProductA.class);
product.product();