静态工厂模式:
1.封装了构造函数,同时由于可以自定义精准命名,避免了重载带来的问题:记不住不同参数列表对应的用途。
2.避免多次创建冗余的对象。
3.builder pattern :当构造函数参数多时使用。使代码容易阅读。
4.枚举构造函数:使用方便,但不能延迟加载
5.finalize:尽量不要用,非常慢,不能确定何时执行;好处是处理那些自己没有关闭的资源。可以在类内部添加匿名内部类x,x中重写finalize,来解决子类重写finalize而什么都不做(不调用父类finalize)的情况。