1.应当用静态工厂方法代替new一个对象。
原因:工厂方法有特定的名字,方便客户端代码阅读。
对于一些非可变对象,可以通过工厂方法复用对象,并且可以直接使用==判断对象是否相等
可以返回原返回类型的子类型
2.私有构造函数保证单例(singleton)
使用public static final域:简单方便,性能好点
使用static方法:能添加一些逻辑
1.应当用静态工厂方法代替new一个对象。
原因:工厂方法有特定的名字,方便客户端代码阅读。
对于一些非可变对象,可以通过工厂方法复用对象,并且可以直接使用==判断对象是否相等
可以返回原返回类型的子类型
2.私有构造函数保证单例(singleton)
使用public static final域:简单方便,性能好点
使用static方法:能添加一些逻辑