加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么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。你还有什么默认的想法?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读