相关疑难解决方法(0)

了解Scala中的Case类和Traits

我有一个如下定义的简单特征:

trait MyTrait {

  def myStringVal: String

}
Run Code Online (Sandbox Code Playgroud)

我的case类实现了这个特性如下:

case class MyCaseClass(myStringVal: String) extends MyTrait {
  ...
  ...
}
Run Code Online (Sandbox Code Playgroud)

来自Java世界,我发现有点难以理解MyCaseClass实际上只是通过定义MyCaseClass的参数来实现它.我知道你的字节代码实际上会编写getter和setter.但如果没有var或val,这怎么可能呢?

我的理解是,如果没有var或val,则不会生成getter或setter方法.在这种情况下,上面的案例类MyCaseClass如何实现myStringVal方法?

有时太多的Scala魔法难以理解,特别是遗留代码.

scala

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

scala ×1