创建和销毁对象

创建和销毁对象

静态工厂方法代替构造器

静态工厂方法与设计模式中的工厂方法不同。

优势

  1. 静态工厂方法有名称,

遇到多个构造器参数时,使用构建器-Builder模式

1.使用构造方法创建对象

重叠构造器

2.JavaBeans模式

通过setter方法设置必要参数,拥有良好的可读性。
缺点:构造过程中容易被改变,处于不一致的状态。

3.Builder模式

通过公开的Builder内部类,私有的构造方法,构造必传参数和可选参数。Builder模式模拟了具名的可选参数,可以加强约束条件,在对象域中进行检验。可以在编译时进行异常检查。

缺点:特殊情况下额外的性能开销,冗长。
适用情况:多个参数(大于4个),需要比JavaBeans模式更加安全的情况。

参见 NotificationAlertdialog类。

用私有构造器或者枚举类型强化singleton属性

为了防止反射调用私有构造方法、反序列化时创建新的实例,直接使用 包含单个元素的枚举类型.

1
2
3
4
5
public enum Elvis{
INSTANCE;

...
}

避免创建不必要的对象

39条 应该创建新对象时,不要重用现有对象
创建不必要的对象只会影响程序的风格和性能,没有实施保护性拷贝将会导致潜在的错误和安全漏洞。

消除过期的对象引用

内存泄露