创建有效的对象:
1.用静态工厂代替构造器。
静态工厂———— 静态方法。
构造器——————是一种特殊类型的方法,他与类同名,没有返回类型,和new关键字结合可以返回对象实例的引用。
优势:
1)静态工厂方法与构造器不同的第一大优势在于,它们有名称,使客服端代码更加容易被阅读,确切的描述返回值类型。
2)不必在每次调用的它们的时候都创建一个新的对象(这个完全取决于具体的实现)。
3)它们可以返回原返回类型的任何子类型的对象。
这种灵活性的一种应用:API可以返回对象,同时又不会使对象的类变成公有的。公有的静态方法所返回的对象的类不仅可以是非公有的,而且该类还可以随着每次调用而发生变化着取决于静态工厂方法的参数值,只要是已声明返回类型的子类型,都是允许的。
4)在创建参数化类型(也就是泛型,jdk1.5新特性)实例的时候,它们是的代码变得更加简洁。
缺点:
1)类如果不含有他的公有或者受保护的构造器,就不能被子类化(即被继承)。
2)它们与其他静态方法实际上没有任何区别。
创建对象的方法:
原文:http://www.cnblogs.com/fiter994415/p/6282204.html