(1) 多工厂方法的目的,主要是为了解决普通工厂方法,因为传入的字符串错误而导致
(2)静态工厂方法跟多工厂方法一样,只是把工厂方法变为静态,这样在使用的时候就不需要实例化Factory类
(3)首先,有个汽车的接口,里面有个run方法,由子类去实现
public interface Car {
public void run();
}
/**
*
* Benz汽车,实现Car接口
*/
public class Benz implements Car {
@Override
public void run() {
public void run() {
System.out.println( "Benz..." );
}
}
}
/**
*
* 多工厂方法:
*
* 主要是为了解决普通工厂方法,因为传入的字符串错误而导致
*
* 创建对象失败
*
*/
public class Factory {
*
* 多工厂方法:
*
* 主要是为了解决普通工厂方法,因为传入的字符串错误而导致
*
* 创建对象失败
*
*/
public class Factory {
public Car produceBenz(){
return new Benz();
}
public Car produceFord(){
return new Ford();
}
}
return new Benz();
}
public Car produceFord(){
return new Ford();
}
}
/**
* 客户端
*
*/
public class Client {
* 客户端
*
*/
public class Client {
public static void main(String[] args) {
Factory factory = new Factory();
Car car = factory.produceBenz();
car.run();
car = factory.produceFord();
car.run();
}
}
Factory factory = new Factory();
Car car = factory.produceBenz();
car.run();
car = factory.produceFord();
car.run();
}
}
运行结果为:
Benz...
Ford...
Ford...