Tips1:考虑用静态工厂方法代替构造器
用静态工厂方法来代替构造器为外界提供对象
描述:
- 静态工厂方法代替构造器来给外界提供对象,创建对象依然是由构造器来完成的
- 创建对象和提供对象:
- 一般在使用静态工厂方法时,会根据方法的需要提供private的构造器
- 静态方法=类方法
用途(优点):
- 有便于分辨的名字
- 解释:
- 构造器和类同名,当存在多个构造器时,用户不便分辨各个构造器的作用
- 静态工厂方法可以根据功能自定义方法名
- tips:
- 当一个类有多个构造器时,建议使用静态工厂方法来提供对象
- 不用每次都创建一个对象,单例
- 可以return该类的任何子类
- 解决参数列表相同但意义不同的构造函数不能同时出现的缺陷
- 解释:
- Person(String job)、Person(String name)这两个构造函数是不能同时存在的
- 静态工厂
- public static Person PersonWithName(String name)
- public static Person PersonWithJob(String job)
- 控制参数,从做填空到做选择
- 解释:
- Person("male")、Person("female"),调用者需要自己提供性别这两个参数
- 静态工厂:
- public static Person aMale(){return new Person("male")}
蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也