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

Scala:为什么在声明期间需要为var/val赋值

发布时间:2020-12-16 09:33:22 所属栏目:安全 来源:网络整理
导读:除非我做错了看起来我们似乎不能做如下事情: var x;x = 1; 在Scala中,而是必须声明并分配一个值。有没有理由为什么会这样呢? 解决方法 明显的原因是帮助不要让变量未初始化。 请注意,在您没有初始化的声明中,您还需要指定类型。 var x: Type; 给出以下
除非我做错了看起来我们似乎不能做如下事情:

var x;
x = 1;

在Scala中,而是必须声明并分配一个值。有没有理由为什么会这样呢?

解决方法

明显的原因是帮助不要让变量未初始化。
请注意,在您没有初始化的声明中,您还需要指定类型。

var x: Type;

给出以下错误:

only classes can have declared but undefined members (Note that variables need to be initialized to be defined)

实际上,只有抽象类可以声明成员而不定义它们。您仍然可以获得所需的行为(初始化为默认值的变量)为

var x: Type = _

如果Type是引用类型,则x将为空。这种情况是有用的,例如,在工厂方法完成对象构造后对象的初始化的情况下。

(编辑:李大同)

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

    推荐文章
      热点阅读