我相信天真的问题,但我发现的只是从构造函数中调用其他构造函数。我需要调用一个方法。我的课(开始):
class ScopedIterator[T](val iter : Iterator[T])
{
private var had_next : Boolean;
private var value : T;
moveNext();
...
所以我想要一个带有单个参数的构造函数,并在这样的构造函数中调用一个方法 moveNext。就这样。
当我编译代码时出现错误:
错误:抽象成员可能没有私有修饰符
private var had_next : 布尔值;
和value一样。
我将其更改为:
class ScopedIterator[T]
{
private var had_next : Boolean;
private var value : T;
private var iter : Iterator[T];
def this(it : Iterator[T]) =
{
iter = it;
moveNext();
}
...
但现在我在“iter=it”上遇到错误:
错误:预期为“this”,但找到了标识符。
迭代器 = 它;
如何在 Scala 中编写这样的构造函数?