如何在 Scala 中仅使用空构造函数创建 POJO class?

How to create POJO class with only empty constructor in Scala?

我想在 Scala 中仅使用默认的空构造函数创建 POJO class。在java中是这样的:

public class Foo {
    private String name;

    private String address;

    ...

    //and the public getter/setter below...
}

在 scala 中,我看到您可以像这样创建 POJO:

case class Foo(var name: String, var address: String, ...)

但在我的例子中,class 将有很多属性(大约 50+),我认为用 50 个构造函数参数实例化 class 不适合这种情况。

更新:

另外,class的属性值可以设置(不是只读的)。这就是我期望 POJO class:

用法的方式
val foo = new Foo()
foo.name = "scala johnson"
foo.address = "in my sweeet dream, oh yeah"
...

如果您不需要使用参数化构造函数实例化 class,并且您将拥有许多属性,那么您可能需要一个对象(静态属性和方法的集合)或一个非大小写 class.

对象示例:

object Foo {
  val someString = "one"

  val someNumber = 42.5    
}

也可以有非大小写class。你可以有一个 class 没有参数,虽然我不确定你为什么要在那种情况下有一个 class:

class Foo {
  val someString = "one"
  val someNumber = 42.5
}

你这样称呼他们:

val myObjectString = Foo.someString

val myClass = new Foo
val myClassNumber = myClass.someNumber

怎么样:

class C {
  var p1:String = _
  var p2:Int = _
}