effecttive java 读书笔记

博客介绍了用静态工厂方法代替构造器的优缺点。优点包括有名称、可复用对象提升性能、能返回子类型对象、利于类型推导使代码简洁;缺点是类若无共有或受保护构造器无法子类化。还提到遇到多构造器参数时可考虑构建器,适用于多参构造且多参可选的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、考虑用静态工厂方法代替构造器

优点

  1. 静态工厂方法有名称
  2. 可以复用对象,不用每次都去构造,提升性能,比如Boolean.valueOf(boolean)
  3. 可以返回原返回类型的任何子类型对象。这样可以隐藏类的实现,使得API非常简洁
  4. 可以利用类型推导,在创建参数化类型实例的时候,使得代码更加简洁

缺点

类如果不含有共有的或者受保护的构造器,无法被子类化。其实我们可以用保护型的构造器解决这个问题。但是这也不太合理,静态工厂方法又有继承的话,其实会比较难看。

遇到多个构造器参数时要考虑构建器

就是build模式,对于多参构造且多参可选的情况非常好用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值