gpt4 book ai didi

scala - Scala中私有(private)构造函数的用途是什么?

转载 作者:行者123 更新时间:2023-12-04 16:38:40 48 4
gpt4 key购买 nike

在 Java 中,它最常见的用法之一是定义一个 Singleton 类。但是,由于 Scala 中没有“静态”类,私有(private)构造函数的使用示例有哪些?

最佳答案

您可以在类的伴随对象中访问私有(private)构造函数。

这使您可以创建替代方法来创建类的新实例,而无需暴露内部构造函数。

我想出了一个非常简单的例子来说明如何利用它:

class Foo private(s: String)

object Foo {
def apply(list: Seq[String]): Foo = {
new Foo(list.mkString(","))
}
}

现在您可以创建 Foo 的新实例没有 new关键字并且不暴露内部构造函数,从而封装内部实现。

这一点尤其重要,因为 future 内部实现可能会发生变化,而面向公众的 API 应该保持向后兼容

关于scala - Scala中私有(private)构造函数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42765964/

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