相关疑难解决方法(0)


为什么Scala语言要求您初始化实例变量而不是依赖于默认值?

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语言要求您初始化一个实例变量 - 无论是默认值_还是您想要的任何内容 - 在类的主体中声明而不是依赖于默认值?

scala initialization instance-variables default-value

25
推荐指数
2
解决办法
2万
查看次数