工厂模式
定义一个接口去创建对象,让子类去实例化某个类
1、接口创建对象
public interface Food {
void eat();
}
2、子类实例化
public class EatRice implements Food{
@Override
public void eat() {
System.out.println("米饭套餐");
}
}
public class EatNoodles implements Food{
@Override
public void eat() {
System.out.println("面条套餐");
}
}
public class EatPorridge implements Food{
@Override
public void eat() {
System.out.println("稀饭套餐");
}
}
3、工厂
public class EatFactory {
public static final int Eat_Rice = 1;
public static final int Eat_Noodles =2;
public static Food newEat(int flag){
if (flag==EatFactory.Eat_Rice){
return new EatRice();
}else if (flag == EatFactory.Eat_Noodles){
return new EatNoodles();
}else {
return new EatPorridge();
}
}
}
4、调用方法
public class Test {
public static void main(String[] args) {
Food food = EatFactory.newEat(3);
food.eat();
}
}