Конструктор по умолчанию - это тот, который вы определяете при объявлении вашего класса
Пример:
class greeting(name:String) { ... }
Вы также можете определить конструктор по умолчанию, который не принимает параметры, как в вашем коде
class greeting { ... }
Затем вы можете добавить дополнительные конструкторы.Все конструкторы, которые вы добавляете в класс, должны вызывать другой конструктор как первый оператор конструктора.Если вы пропустите это, вы получите «этот ожидаемый, но идентификатор найден».
Давайте рассмотрим пример:
class classconstructor {
var iter:Int = 0
def this(it:Int) = {
this()
iter = it;
moveNext();
}
def moveNext() = {
println(iter)
}
}
object App
{
def main(args:Array[String])
{
val x = new classconstructor()
val y = new classconstructor(200)
}
}
В приведенном выше коде новый classconstructor () ничего не делает, потому что пустой конструктор нене имеет тела.и new classconstructor (200) выполняет пустой конструктор + новый, куда вы можете добавить дополнительный код, такой как вызов метода moveNext ().В этом случае этот выводит 200 на консоль.