class - 定义类 : difference between var, val 并忽略它?

标签 class scala

以下三个 Scala 声明有什么区别?我了解general distinction between val and var .

class A(x: T){ ... }
class B(val x: T){ ... }
class C(var x: T){ ... }

最佳答案

AB 之间的区别(valvar 都创建访问器):

class A(a: Int) {}

// Doesn't compile (value a is not a member of)
// (new A(1)).a

class B(val b: Int) {}

(new B(1)).b                                    //> res0: Int = 1

关于class - 定义类 : difference between var, val 并忽略它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199581/

相关文章:

java - 是否有任何约定来存储与任何类没有特别相关的方法? [java]

Java-如何用字符串调用类?

Java : preferred design when multiple methods share same arguments (class member ?)

java - Java 中的池类是什么?

postgresql - 使用 Slick 只插入所有新记录

scala - 使用 scala 将数据帧列名称作为参数传递给函数?

python - 如何在类 python 中访问魔术方法

scala - 在调用 this() 之前在重载的构造函数中执行代码

scala - 初始化要在不同范围内使用的 val

json - 使用 json4s 从 json 字符串中提取键