java工厂模式的三种方式
2014-03-09 22:00
453 查看
1、前置条件
1、1接口
1、2两个实现类
2、最原始的实现方式
3、使用枚举实现方式一
4、使用枚举实现方式二
1、1接口
interface Animal { void eat(); }
1、2两个实现类
class Dog implements Animal { public void eat() { System.out.println("Dog eat"); } } class Cat implements Animal { public void eat() { System.out.println("Cat eat"); } }
2、最原始的实现方式
class AnimalFactory { public static Animal create(Class<? extends Animal> clz) { try { return clz.newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } }
3、使用枚举实现方式一
enum AnimalFactory2 { Dog, Cat; public Animal create() { switch (this) { case Dog: return new Dog(); case Cat: return new Cat(); default: throw new AssertionError("错误"); } } }
4、使用枚举实现方式二
enum AnimalFactory3 { Dog { @Override public Animal create() { return new Dog(); } }, Cat { @Override public Animal create() { return new Cat(); } }; public abstract Animal create(); }
相关文章推荐
- Java工厂模式的三种设计方式
- Java 实现工厂设计模式的三种方式
- 【计算机网络】关于三种网络通信模式以及java中三种通信方式的实现介绍
- java三种工厂模式:简单工厂、工厂方法、抽象工厂
- Java三种工厂模式
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式之设计模式分类和三种工厂模式
- java设计模式---三种工厂模式
- JAVA三种设计模式--------单例、工厂、代理模式
- java设计模式---三种工厂模式
- react---react创建组件的三种方式以及区别:无状态组件、工厂模式、es6语法定义
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式(二)设计模式分类和三种工厂模式
- Java, C#, JavaScript三种语言实现工厂模式
- java设计模式(二)设计模式分类和三种工厂模式
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式(二)设计模式分类和三种工厂模式
- java设计模式---三种工厂模式之间的区别
- Java 设计模式—工厂模式(三种方式)
- java三种工厂模式
- Java设计模式之三种工厂模式 -- 总是忘记,这次把你记下来!
- Java程序员从笨鸟到菜鸟之(三十二)大话设计模式(二)设计模式分类和三种工厂模式
- java设计模式---三种工厂模式之间的区别