gpt4 book ai didi

java - 如何使用 "Static factory methods"而不是构造函数?

转载 作者:IT老高 更新时间:2023-10-28 20:57:33 25 4
gpt4 key购买 nike

有效的 java 说“考虑提供静态工厂方法而不是构造函数”

如果你有一个

 class A {

public static A getInstance() {
return new A();
}
}

为类 A 提供这个方法,而不是在代码中调用 new A() 有意义吗?

最佳答案

here为了很好地说明您可能想要这样做的主要原因。总结:

  1. 命名为“构造函数”。
  2. 如果合适,可以返回 null。
  3. 如果合适,可以返回派生类的实例。
  4. 在实例化泛型类型的变量时减少冗长。

想到文章没有提到的另一个原因:可以实现有趣的逻辑来避免一直创建新对象(基于参数的缓存、回收等)。

关于java - 如何使用 "Static factory methods"而不是构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4029622/

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