justcooooode

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

获得一个类的实例时我们都会采取一个共有的构造器。Foo x = new Foo();

同时我们应该掌握另一种方法就是静态工厂方法(static factory method)。

一句话总结,静态工厂方法其实就是一个返回类的实例的静态方法。

书中给出的例子是Boolean的valueOf方法:

通过valueOf方法将boolean基本类型转换成了一个Boolean类型,返回了一个新的对象引用。

valueOf外,像Java中的getInstancenewInstance等方法都为静态工厂方法。

静态工厂方法不同于设计模式中的工厂方法。

那么为什么要使用静态工厂方法呢?下面是它的几大优势:

它们有名字

给构造器起名字,增强了代码的可读性。

如果一个构造器的参数并不能确切描述它返回的对象,这时候可以考虑静态工厂方法。

或者你的多个构造器只是在参数列表中的参数顺序上有所不同,那么除非你提供了详尽的文档说明,否则你下次使用时就会一脸懵逼,这几个构造器到底要选哪个

相关文章:

  • 2021-11-03
  • 2018-04-21
  • 2021-11-11
  • 2021-09-16
  • 2021-10-26
  • 2021-12-10
  • 2021-12-05
猜你喜欢
  • 2021-11-02
  • 2018-05-21
  • 2021-12-27
  • 2021-11-03
  • 2021-05-16
  • 2021-11-02
  • 2021-10-14
相关资源
相似解决方案