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

时间:2015-01-05 20:38:34

标签: scala pojo

我想在Scala中创建POJO类,只使用默认的空构造函数。在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, ...)

但在我的情况下,该类将具有许多属性(大约50+),并且我不认为使用50个构造函数参数实例化该类是适合这种情况。

更新

此外,可以设置类的属性值(它不是只读的)。这就是我期望POJO类的用法:

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

2 个答案:

答案 0 :(得分:5)

怎么样:

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

答案 1 :(得分:0)

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

对象示例:

object Foo {
  val someString = "one"

  val someNumber = 42.5    
}

也可以有非案例类。你可以有一个没有参数的类,虽然我不确定你为什么要在这种情况下有一个类:

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

你这样称呼它们:

val myObjectString = Foo.someString

val myClass = new Foo
val myClassNumber = myClass.someNumber