Самое большое различие между ними состоит в том, что параметр класса один можно использовать в качестве конструктора. Если вы хотите, чтобы конструктор не имел параметров, как ваш пример Java, вам нужно использовать второй, плюс добавить частный модификатор, как предложено @ Debilski.
Другой вариант - использовать параметры по умолчанию в конструкторе. Таким образом, поля могут быть изменены при необходимости:
class ClassA (private val field1: Int = 1, private val field2: Int = 2)
// Using defaults
val a = new ClassA
// Setting new values
val b = new ClassA(3, 4)