效果是一样的,建议使用Factory。
至于有什么区别,建议你看一些有关设计模式的书。

解决方案 »

  1.   

    对于小项目而言,使用不使用的好处体现不出来,而对于大项目来说就不一样了,
    这要的好处可以减少代码的修改量。建立一个框架,jive论坛就大量使用了factory模式
      

  2.   

    工厂方法既可以返回该类型,也可以返回该类型的子类型。
    而new一个只能得到你new的类型,并且每个new都会重新生成一个对象
    但是工厂模式却可能重用已有的对象,像singleton中的getInstance();Boolean类中的valueOf(),
    工厂方法可以取有意义的名字,如createBlackAndWhiteTV(int screenWidth,int screenHeight),createColorfulTV(int screenWidth,int screenHeight),可以让调用者很清楚地知道他得到的是什么东西,如果用new可能就不能达到这么小郭勒
    总的来说,工厂方法更具灵活性
      

  3.   

    Factory 可以自己定义?
    使用Factory 可以减少代码的修改量?可不可以举例说明。
    getInstance()  Boolean的valueOf()方法 与工厂模式有什么关系?
      

  4.   

    Effective Java中就建议使用工厂方法!