Есть несколько способов сделать это. Вы можете объявить такие временные переменные в частных определениях, которые будут использоваться во время создания. Вы можете использовать временные переменные внутри блоков, которые возвращают выражения (например, в ответе Алаза). Или, наконец, вы можете использовать такие переменные внутри альтернативных конструкторов.
Подобно альтернативным конструкторам, вы также можете определить их в методе apply объекта-компаньона.
То, что вы не можете сделать, это объявить поле "временным".
Обратите внимание, что любой параметр, полученный первичным конструктором, также является полем. Если вы не хотите, чтобы такие параметры становились полями, и не хотите показывать действительные поля в конструкторе, обычное решение - сделать первичный конструктор частным с действительными полями и использовать либо альтернативный конструктор, либо apply () объекта-компаньона как эффективный «первичный» конструктор.