例如,说我有一个密封的特征AnimalSounds,我有一个案例类“ Dog”和一个案例类“ Cat”,我希望这两个案例类的值默认为“ Woof”和“ Cat”
sealed trait AnimalSounds extends Product with Serializable
final case class Dog(sound: String = "woof") extends AnimalSounds
final case class Cat(sound: String = "meow") extends AnimalSounds
println(Dog.sound)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息“声音不是对象的成员”
如果用“硬编码”表示常量考虑case objects
如下
sealed trait AnimalSounds { val sound: String }
case object Dog extends AnimalSounds { val sound = "woof" }
case object Cat extends AnimalSounds { val sound = "meow" }
Dog.sound
Run Code Online (Sandbox Code Playgroud)
哪个输出
res0: String = woof
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
61 次 |
最近记录: |