一、java语言支持四种类型:java
(1)接口(interface):设计模式
(2)类(class):数组
(3)数组(Array):缓存
(4)基本类型(primitive):惟一非引用类型(reference type)框架
二、方法签名:包括方法名称、参数,不包括返回值;设计
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《对象
三、本条静态工厂方法与设计模式的工厂方法不是对应等价的;继承
- 该静态方法将boolean基本类型值转换成Boolean对象引用
- 类能够经过静态工厂方法提供他的客户端,而不是构造器

四、静态工厂方法比构造器优点接口
(1)第一大优点:有名称:it
- 构造器参数没有确切描述返回的对象,有名称的静态工厂更容易使用,易于阅读;
- 当须要带有相同签名的构造器时,使用静态工厂代替构造器,使用名称区别他们;
(2)没必要每次调用的时候建立一个新对象:
- 不可变类 (见15条)使用预先建立好的实例(缓存建立实例)进行重复利用
- 不可变类:实例不可被修改类
- 避免没必要要建立重复对象;
- 实例受控的类 静态工厂能为重复调用返回相同对象
- 有助于严格控制某时刻,哪些实例应该存在
- 能够确保是一个Singleton或者是不可实例化的
- 不可变类能够确保不会存在两个相等的实例
(3)静态工厂方法能够返回原返回类型的任意子类型,更加灵活
- API返回对象,对象的类又不会变成公有
- 适用于基于接口的框架
- 基于接口的框架,包含静态工厂方法和不可实现类
- Collection FrameWork集合接口有32个实现,采用上述方法(不可实例化类Collections导出)
- Collections API导出比32个独立公有导出,实现起来小得多
- API数量少,概念意义也少
静态工厂方法返回的对象所属的类,在编写工厂方法是能够不存在
- 服务提供者框架的基础:如JDBC
- 服务提供者框架:多个服务提供者实现一个服务,系统为客户端提供多个实现,并使之解耦
服务提供者框架:
- 组件1服务接口:提供者实现
- 组件2提供者注册API:系统用来注册实现的
- 3服务访问API:客户端用来获取服务实例的
- 4服务提供者接口(可选):提供者建立服务实例;若无,反射实例化便可
服务提供者能够有无数变种
- 服务访问API能够利用适配器,返回更加丰富服务接口
(4)第四大优点:建立参数化类型实例,代码更加简介
五、静态工厂方法主要缺点一:
- 类没有公有或受保护构造器,不能被子类化
- 这样鼓励程序使用组合,不是继承<16条>
六、缺点二:与其余的静态方法没有任何区别