为什么Scala语言需要初始化实例变量而不是依赖于默认值?
发布时间:2020-12-16 09:35:01 所属栏目:安全 来源:网络整理
导读:Scala语言要求您在使用实例变量之前初始化它。但是,Scala不会为您的变量提供默认值。相反,您必须通过使用通配符下划线手动设置其值,其类似于默认值,如下所示 var name:String = _ 我知道,我知道…我可以在类定义中定义一个构造函数,它将实例变量作为参
Scala语言要求您在使用实例变量之前初始化它。但是,Scala不会为您的变量提供默认值。相反,您必须通过使用通配符下划线手动设置其值,其类似于默认值,如下所示
var name:String = _ 我知道,我知道…我可以在类定义中定义一个构造函数,它将实例变量作为参数,所以Scala不会强制其初始化如下所示 class Person(var name:String) 然而,我需要在体内声明它,因为我需要使用一个Java注释,它的ElementType是FIELD或METHOD;也就是说,它可以应用于在我们类的体中声明的一个实例变量或者方法。 问题:为什么Scala语言需要初始化一个实例变量 – 无论是默认值_还是任何你想要的 – 在类的体中声明,而不是依赖于默认值? 解决方法
当您将其指定为构造函数参数时,可以应用注释。此外,您可能需要使用元注释来限制您使用的注释应用于哪个目标 – 请参阅
http://www.scala-lang.org/api/2.10.2-RC2/index.html#scala.annotation.meta.package
关于“依赖于默认值”的问题有些不清楚。使用下划线的初始化对应于将变量的值分配为null。你还有什么默认的想法? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |