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

我可以在Scala中做一个“公开的val”,而“私有的var”呢?

发布时间:2020-12-16 18:58:28 所属栏目:安全 来源:网络整理
导读:即是否可以使一个不能从课外分配的var? 解决方法 现在不,没有办法做到这一点. 您仅限于以下三线解决方案: class Hider { private[this] var xHidden: Int = 0 def x = xHidden private def x_=(x0: Int) { xHidden = x0 }} 现在,类本身是唯一可以操纵底层
即是否可以使一个不能从课外分配的var?

解决方法

现在不,没有办法做到这一点.

您仅限于以下三线解决方案:

class Hider {
  private[this] var xHidden: Int = 0
  def x = xHidden
  private def x_=(x0: Int) { xHidden = x0 }
}

现在,类本身是唯一可以操纵底层字段xHidden的人,而类的其他实例可以使用setter方法,并且每个人都可以看到getter方法.

如果你不介意使用不同的名字,你可以使var变为私有,并忘记setter(两行).

关键字没有“var to me,val to them”关键字.

(编辑:李大同)

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

    推荐文章
      热点阅读