我正在学习Scala,并尝试为项目设置一个简单的枚举。我查看了一些示例,但没有一个适合,Scala文档和StackOverflow上的所有示例都是针对对象内部的枚举,而不是类。我得到了一个IDE警告,我不理解。我从初学者Java背景转入Scala,这可能是我困惑的原因。
以下是代码:
以下是代码:
class Car(maxSpeed: Integer) {
// Enums
object CarType extends Enumeration {
type CarType = Value
val PERIPHERAL, COMPUTER, EMPTY = Value
}
import CarType._
// Fields
val repeated: CarType
}
当我将鼠标悬停在类名上时,我可以看到Intellij的警告:
类“Car”必须声明为抽象或实现抽象成员“typed:Car.this.CarType.CarType”中的“Car”
我不确定为什么它要求我实现我的变量,而且这个类并不打算是抽象的。我想以类似于Java中使用枚举的方式来使用它们。
import Car.CarType._
。其次,我无法在Car
类文件之外使用枚举。出现了一些关于期望类型为CarType.CarType
但实际类型为CarType.Value
的错误。可行的方法是老式的方式,即将枚举定义移到它自己的文件中。 - ruhong