第1条:考虑用静态工厂方法代替构造器

对于类而言,为了让客户端获取它自己的一个实例,最常用的方法就是提供一个公有的构造器。还有一种方法,它应该在每个程序员的工具箱中占有一席之地。类可以提供公有的静态工厂方法,它只是一个返回类的实例的静态方法。如:

public static Boolean valueOf(boolean b){

    return b ? Boolean.TRUE : Boolean.FALSE;

}

静态工厂方法与构造器相比的优点:

1.它们有名称

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

3.它们可以返回原返回类型的任何子类型的对象

4.在创建参数化类型实例的时候,它们使代码变得更加简洁


静态工厂方法的缺点:

1.类如果不含公有的或者受保护的构造器,就不能被子类化

2.它们与其他的静态方法实际上没有任何区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值