effective java 读书笔记

来源:互联网 发布:国内外治疗癌症知乎 编辑:程序博客网 时间:2024/06/18 12:54

创建和销毁对象

1.静态工厂方法替代构造器:

构造器的缺点在于,1.对于上层调用者,有时候不知道该使用哪个构造器,同时也可能不太清楚构造器内参数的具体含义,因为构造器没有名称

2.每次调用都会产生一个新的对象,会造成资源浪费

3.返回类型只能是当前类型,不能体现多态

使用工厂方法:

1.可以使用比较具体的名字来让上层调用者知道该这个工厂方法产生的构造器到底是什么种类。

2.可以通过单例模式等,使产生对象的数量可以控制

3.可以返回原返回类型的任意一个子类(体现了多态)

缺点:

要求类必须有受保护或者共有的构造器 负责不能实例化

静态方法和静态工厂没有差别,在java中没有办法体现和分别那些是静态工厂那些是静态方法

2.遇到多个构造器参数时考虑使用构建器

当参数过多的时候使用重叠构造器会使代码难以维护(当参数较少时可以使用),javabean模式存在风险,javabean存在不一致性,造成程序中一些难以发现的bug

Builder模式 在该类内部构造一个实体builder 将属性放置在builder内 ,然后定义赋值方法(返回builder对象),调用的形式为

classA.Builder(2,5).filedA(4).fieldB("张三");

0 0
原创粉丝点击