下面是一个最基础的工厂模式,可是它究竟有什么优势呢?我觉得通过接口 —— 实现类 —— 获得另一个类的对象。这个过程反而我觉得麻烦很多。所以特地向大家请教。
import static MyTools.Print.*;interface Service {
  void method1();
  void method2();
}interface ServiceFactory {
  Service getService();
}class Implementation1 implements Service {
  Implementation1() {} 
  public void method1() {print("Implementation1 method1");}
  public void method2() {print("Implementation1 method2");}
} class Implementation1Factory implements ServiceFactory {
  public Service getService() {
    return new Implementation1();
  }
}class Implementation2 implements Service {
  Implementation2() {}
  public void method1() {print("Implementation2 method1");}
  public void method2() {print("Implementation2 method2");}
}class Implementation2Factory implements ServiceFactory {
  public Service getService() {
    return new Implementation2();
  }
} public class Factories {
  public static void serviceConsumer(ServiceFactory fact) {
    Service s = fact.getService();
    s.method1();
    s.method2();
  }
  public static void main(String[] args) {
    serviceConsumer(new Implementation1Factory());
    serviceConsumer(new Implementation2Factory());
  }
}

解决方案 »

  1.   

    http://topic.csdn.net/u/20080919/10/bdb442fb-18b6-4061-bf9a-d2ac842c9246.html相信你看了这个链接之后,一切都明白了
      

  2.   

    Effective JavaItem1 说的最清楚了..
      

  3.   

    java支持单重继承,为了能实现c++那样多重继承的功能,设计了接口,比如男人可以继承人的一些特性(吃饭,睡觉、、、),但是为了表现猪也有这些特性,我们可以定义一个接口(专管吃,睡),猪虽然不能继承人这个父类,但可以实现接口.不知你明不明白?