使用静态工厂方法需要注意的地方

1.静态工厂方法优于构造器的原因:

(1).静态工厂方法可以有名称(即方法名)。如果构造器的参数没有确切的描述被返回的对象,那么有名称的静态工厂方法会更容易使用。

(2).不必在每次调用的时候都创建一个新的对象。

(3).可以返回原返回类型的任何子类型的对象(上转型)。

(4).在创建参数化类型实例的时候,会使方法变的更加简洁(相对来说)。

缺点:它们都不能扩展到大量的可选参数,如果碰到有大量参数的时候,可以使用建造者(Builder)模式(或者也可以使用单例进行管理一个JavaBean的类,这样能在各处调用,单独赋值某个参数的时候,能保证数据的一致性,同时也确保了线程的安全性),利用Builder模式十分灵活,可以使用单个Builder构建多个对象,可以创建对象时对参数进行调整。

2.可以通过私有构造器以及枚举来实现SingleTon(单例模式)

3.通过私有构造器强化不可实例的能力(构造器私有,只能在本类中创建对象,不能在别的类中调用构造器创建对象)

4.最好能重用对象,而不是在每次使用的时候都创建一个相同功能的新对象。对于同时提供静态工厂方法跟构造器的类,使用静态工厂方法代替构造器能避免创建过多无用的对象。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值