Câu hỏi Naive Tôi tin, nhưng tất cả những gì tôi thấy chỉ là gọi các nhà thầu khác từ các nhà thầu. Tôi cần gọi một phương pháp. Lớp học của tôi (bắt đầu):Cách thêm một số hành động trong hàm tạo?
class ScopedIterator[T](val iter : Iterator[T])
{
private var had_next : Boolean;
private var value : T;
moveNext();
...
vì vậy tôi muốn có một người xây dựng với một đối số duy nhất, và trong nhà xây dựng như vậy gọi phương thức moveNext. Đó là tất cả.
Khi tôi biên dịch mã tôi nhận được lỗi:
error: abstract member may not have private modifier
private var had_next : Boolean;
và tương tự cho giá trị.
tôi đã thay đổi nó để:
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();
}
...
Nhưng bây giờ tôi nhận được lỗi trên "iter = nó":
error: 'this' expected but identifier found.
iter = it;
Làm thế nào để viết constructor như vậy trong Scala?
Cụ thể bạn nhận được lỗi nào trên 'iter = it'? – asm
@Andrew Myers, xin lỗi, đã cập nhật. – greenoldman