简单工厂模式又叫静态工厂模式,顾名思义,它是用来实例化目标类的静态类
用到java的反射
package factory3;
interface Car{
public void run();
public void stop();
}
class Benz implements Car{
@Override
public void run() {
System.out.println("Benz开始启动了。。");
}
@Override
public void stop() {
System.out.println("Benz停车了。。");
}
}
class Ford implements Car{
@Override
public void run() {
System.out.println("Ford开始启动了。。");
}
@Override
public void stop() {
System.out.println("Ford停车了。。");
}
}
class Factory{
public static Car getCarInstance(String type){
Car c = null;
try {
c = (Car) Class.forName("factory3."+type).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
/*if("Benz".equals(type)){
c = new Benz();
}
if("Ford".equals(type))
{
c = new Ford();
}*/
return c;
}
public static Car getFordInstance(){
return new Ford();
}
}
public class FactoryDemo3 {
public static void main(String[] args) {
Car c = Factory.getCarInstance("Benz");
if(c!=null)
{
c.run();
c.stop();
}else
System.out.println("造不了这车。。。");
}
}