日期:2014-05-20  浏览次数:20765 次

java中为对象赋初值,实例化有几种方法呢
java中为对象赋初值,实例化有几种方法呢,我知道利用构造器可以在类实例化的时候给对象赋值。还用没有其他方法了???大家帮忙说说。谢谢!!!
------解决方案--------------------
想到了一个:

静态工厂方法(static factory method)

和普通的构造器相比

优点:
1)静态工厂方法有名称。
2)不必在每次调用静态工厂方法时,都创建一个新对象。
3)静态工厂方法可以返回原返回类型的任何子类型的对象。
4)在创建参数化类型实例的时候,静态工厂方法使代码变得更加简洁。

缺点:
1)类如果不含公有的或者受保护的构造函数,就不能被子类化。

2)静态工厂方法与其他的静态方法没有实际上区别。
  在API文档中没有像构造函数那样被javadoc明确标识出来。
  要想查明如何实例化一个类,变得非常困难。
回避方法:使用惯用名称来弥补。例如:valueOf、of、getInstance、newInstance、getType、newType

引用自:Effective Java Item 1
------解决方案--------------------
LZ的意思是不是就是给java对象赋值呢?

------解决方案--------------------
引用:
想到了一个:

静态工厂方法(static factory method)

和普通的构造器相比

优点:
1)静态工厂方法有名称。
2)不必在每次调用静态工厂方法时,都创建一个新对象。
3)静态工厂方法可以返回原返回类型的任何子类型的对象。
4)在创建参数化类型实例的时候,静态工厂方法使代码变得更加简洁。

缺点:
1)类如果不含公有的或者受保护的构造函数,就不能被子类化。

2)静态工厂方法与其他的静态方法没有实际上区别。
  在API文档中没有像构造函数那样被javadoc明确标识出来。
  要想查明如何实例化一个类,变得非常困难。
回避方法:使用惯用名称来弥补。例如:valueOf、of、getInstance、newInstance、getType、newType

引用自:Effective Java Item 1
受用了