概述
1.考虑使用静态工厂方法代替构造函数
2.构造函数多个参数时考虑使用构建器
JavaBeans(使用get、set方法)不足:构造过程中JavaBean可能处于不一致状态。
应使用Builder模式
目标类本身不可变(属性用final修饰)
目标类中创建静态builder类,包含目标类的所有属性。
调用方法:
使用时相当于先创建Builder对象,再调用builder相应方法初始化对象(注意方法返回当前Builder对象),然后调用Builder对象的builder方法(该方法返回目标对象)
3.用私有构造器或枚举类型强化Singleton属性
4.通过私有构造器使类不能实例化
通过将类设为抽象类使类不能实例化的方法不可行。该类可以被子类化,子类可以实例化。
不显示声明构造器就会生成缺省的构造器。只有显示的声明私有构造器时,才能使类不能被实例化。
这使得这个类不能被子类化。
5.避免创建不必要的对象
6.消除过期的对象引用
只要类的内存是自己管理的,就要警惕内存泄漏
7.避免使用终结方法(finalizer)
不应该依赖终结方法来更新重要的持久状态。
如果确实需要终止资源,使用显示的终止,即写一个方法,让每个实例不再使用时调用这个方法,比如InputStream的close()方法、java.util.Timer的cancel方法。
显示的终止方法通常与try-finally一起使用,在finally子句中显示调用终止方法,以确保及时终止。
最后
以上就是热心猎豹为你收集整理的effective java笔记 第二章 创建对象和销毁对象的全部内容,希望文章能够帮你解决effective java笔记 第二章 创建对象和销毁对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复