gpt4 book ai didi

java - Guava :为什么方法 create() 而不是构造函数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:48 25 4
gpt4 key购买 nike

请您解释一下为什么 guava 的创建者更喜欢将构造函数定义为私有(private)的,并定义静态方法 create() 来创建对象?

最佳答案

Effective Java 第 1 条:考虑静态工厂方法而不是构造函数。

静态工厂方法的一些优点包括:

  • 它们会自动推断 Java 7 之前的类型参数。
  • 它们允许我们控制继承模式:我们可以在 Guava 中对集合类型进行子类化,而不让外部代码对它们进行子类化。
  • 他们让我们返回所需类型的任意子类,让我们更好地隐藏实现细节。

关于java - Guava :为什么方法 create() 而不是构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com