Effective Java - 创建和销毁对象
1、考虑使用静态工厂方法代替构造器。
这么做如下优势:
- 静态方法工厂方法具有变量名称。比如定义在Boolean类的TRUE对象,具有名称十分直观。
-
Boolean.TRUE public static final Boolean TRUE = new Boolean(true);
- 不必每次调用的时候都创建新对象。如果创建对象代价很高,使用静态类可以提升性能。
- 可以返回声明返回类的任意子类对象。
-
public static Service getService()
通过调用getService方法获取实例,返回值可以是Service类的对象也可以是Service的任意子类的对象,只要按需求变更实现即可。
- 在创建参数化类型实例的时候,可以使代码更精简。
-
public static <K, V> HashMap<K, V> newInstance() { return new HashMap<K, V>(); }
如果HashMap类提供以上方法,创建HashMap对象时就可以使用以下更简单的方式:
-
Map<String, List<String>> map = HashMap.newInstance();
当然这只是假设,当前jdk并没有提供此方法,我们可以借鉴。

浙公网安备 33010602011771号