1.抽象产品
public interface Car {
public void showMe();
}
2.具体产品
public class Aodi implements Car {
@Override
public void showMe() {
System.out.println("我是奥迪");
}
}
public class Bmw implements Car{
@Override
public void showMe() {
System.out.println("我是宝马");
}
}
3.1工厂类–最简单的
public class CarFactory {
public static Car createAodiCar(){
return new Aodi();
}
public static Car createBmwCar(){
return new Bmw();
}
}
3.2工厂类–使用枚举
public enum CarF {
Aodi,Bmw;
public Car create(){
switch(this){
case Aodi: return new Aodi();
case Bmw:return new Bmw();
default :throw new AssertionError("参数无效");
}
}}