Scala语言要求您在使用之前初始化实例变量.但是,Scala不为您的变量提供默认值.相反,您必须使用通配符下划线手动设置其值,该下划线的作用类似于默认值,如下所示
var name:String = _
Run Code Online (Sandbox Code Playgroud)
我知道,我知道......我可以在类定义中定义一个构造函数,它将实例变量作为参数,因此Scala不会强制其初始化,如下所示
class Person(var name:String)
Run Code Online (Sandbox Code Playgroud)
但是,我需要在体内声明它,因为我需要使用其元素为FIELD或METHOD的Java注释; 也就是说,它只能应用于在我们类的主体中声明的实例变量或方法.
问题:为什么Scala语言要求您初始化一个实例变量 - 无论是默认值_还是您想要的任何内容 - 在类的主体中声明而不是依赖于默认值?