将带有私有构造函数的类实例(工厂模式)传递给函数



在我的一个Scala文件中有

object DataObject {
    def create(...) {
        new DataObject(...)
    }
}
private case class DataObject(...) { ... }

使用工厂模式。我可以不给DataObject作为输入参数

吗?
object myfunction { value(in: DataObject): Double = ??? }

?我从IntelliJ得到"无法解析符号数据对象"的错误。如果我去掉private,我就不会再得到错误了,但我不明白为什么我不能用private通过DataObject。我以为这只是关于构造器?我到底能做些什么来通过DataObject呢?

private case class DataObject(...) { ... }

使类为私有;如果你想让构造函数私有:

case class DataObject private(...) { ... }

最新更新