静态工厂方法讲解<一>
(1)构造方法的名字必须与类名相同。缺点是不能从名字上区分每个重载方法,
静态工厂方法的方法名可以是任意的,例如 getFemale()和getMale()。
(2)每次执行new语句时,不必每次都返回一个新对象
(3)new语句只能创建当前类的实例,而静态工厂方法可以返回当前类的子类的实例,这一特性可以在创建松耦合的系统接口时发挥作用。
但静态工厂方法又有缺点:
第一:如果将要创建的对象的构造方法是私有的或是default的,就有可能不能创建该对象
具有实例缓存的不可变类:不可变类的实例一旦创建,其属性值就不会被改变
第二
而静态工厂方法与其他的静态方法没有区别,就增加了用户使用的区别。但这可以尽量采用一些家喻户晓的名字解决
(1)构造方法的名字必须与类名相同。缺点是不能从名字上区分每个重载方法,
静态工厂方法的方法名可以是任意的,例如 getFemale()和getMale()。
(2)每次执行new语句时,不必每次都返回一个新对象
(3)new语句只能创建当前类的实例,而静态工厂方法可以返回当前类的子类的实例,这一特性可以在创建松耦合的系统接口时发挥作用。
但静态工厂方法又有缺点:
第一:如果将要创建的对象的构造方法是私有的或是default的,就有可能不能创建该对象
具有实例缓存的不可变类:不可变类的实例一旦创建,其属性值就不会被改变
第二
而静态工厂方法与其他的静态方法没有区别,就增加了用户使用的区别。但这可以尽量采用一些家喻户晓的名字解决