public class Main{
public static void main(String args[]){
Fruit f = FruitFactory.APPLE.getInstance();
Fruit f1 = FruitFactory.ORANGE.getInstance();
f.eat(); //吃苹果
f1.eat(); //吃橘子
}
}
interface Fruit{
public abstract void eat();
}
class Apple implements Fruit{
@Override
public void eat() {
System.out.println("吃苹果");
}
}
class Orange implements Fruit{
public void eat(){
System.out.println("吃橘子");
}
}
enum FruitFactory{
ORANGE,APPLE;
public Fruit getInstance(){
switch (this){
case ORANGE:
return new Orange();
case APPLE:
return new Apple();
default:
throw new RuntimeException("参数不是指定类型");
}
}
}
本文通过一个简单的Java程序展示了工厂模式的应用。程序定义了一个水果接口及其实现类苹果和橘子,并通过枚举形式的工厂类来实例化这些水果对象。运行结果能够根据不同类型的水果输出相应的信息。

被折叠的 条评论
为什么被折叠?



