Извините, что задал очень новый вопрос о Котлине, но я изо всех сил пытаюсь понять некоторые вещи, связанные с конструкторами и инициализацией.
У меня есть этот класс и конструктор:
class TestCaseBuilder constructor(
caseTag: String = "Case",
applType: Buy.ApplFor = Buy.ApplFor.PROOFFINANCE,
komnr: String = "5035") {
var caseTag: String = caseTag
var applType: Buy.ApplFor = applType
var komnr: String = komnr
То, что я пытаюсь сделать здесь, - это иметь три дополнительных параметра в конструкторах, используя для них значения по умолчанию.Причина, по которой я объявляю их в теле класса, заключается в том, что мне нужен доступ к ним из основного класса.
Теперь этот код работает.Нет ошибок при запуске.Но IntelliJ дает следующий комментарий для переменных (например: caseTag):
Property is explicitly assigned to parameter caseTag, can be declared
directly in constructor.
То, что я нашел при поиске, это примеры с использованием init {}, но результат, который я получил, включает в себя:инициализируем переменные дважды, один раз в конструкторе, а затем в init {}.Что явно не правильно, я бы сказал?
Что может быть лучше (или чем иметь) необязательные параметры в конструкторе, а затем создавать из них переменные класса?