Scala类的主构造函数是以下组合:
class Socket(val timeout: Int = 10000)
class Foo {
lazy val text =
io.Source.fromFile("/etc/passwd").getLines.foreach(printlc)
}
object Test extends App {
val f = new Foo
}
* 设置未初始化的var字段类型。通常需要吧字段定义为Option可以给到一个默认的初始值
* 继承类的构造函数参数:将基类的构造函数的参数定义为var或者val。定义子类构造函数时,不要用var或者val声明类间公用的字段,然后在子类中用val或者var定义新的构造函数参数。
* 调用父类的构造函数:在Scala定义子类时,可以在子类定义extends时控制被其主构造函数调用的超类构造函数。
* 辅助构造函数的第一行必须调用当前类的另一个构造函数,好久无法调用超类的构造函数