在具有内部类的 Scala 类中,如何声明一个以该类的实例作为参数的构造函数?
即这有效
class Element[T](val v : T, val next : Element[T])
class MyStack[T] private (private val first : Element[T]) {
def this() = this(null)
def push(v : T) = new MyStack[T](new Element[T](v,first))
def pop() = new MyStack[T](first.next)
def top() = first.v
}
这没有。
class MyStack[T] private (private val first : Element) {
private class Element(val v : T, val next : Element)
def this() = this(null)
def push(v : T) = new MyStack[T](new Element(v,first))
def pop() = new MyStack[T](first.next)
def top() = first.v
}