我是scala的新手,只是在做一些练习;我尝试了一个非常简单的程序,简述如下:
abstract class Device(val cds: Array[Char]) {
var codes = Array[Char](cds: _*)
def encrpt(code: Char): Char
var nextDevice: Device
def setNext(next: Device):Unit = {
nextDevice = next
}
}
//compiler error shows here
class Input(codes: Array[Char]) extends Device(codes) {
override def encrpt(code: Char) = code
}
您可以在第 21 行看到编译器错误,以下是消息: 类 Input 需要是抽象的,因为未定义类型为 com.me.acm.problem1009.Device 的类 Device 中的变量 nextDevice(请注意,变量需要被初始化被定义)
我很困惑这个错误,我的理解是在父类中定义一些变量和一个setter方法,所以子类可以使用它而无需再次定义它。这是直截了当的。
我想我错过了什么。有人可以向我解释一下并告诉我正确的方法是什么吗?谢谢。