будет переопределять getter()? То есть при каждом присвоении я буду вычислять значение заново? abstract get() нельзя сделать к сожалению, чтобы явно понимать это поведение
override val x = 5 // считает один раз override val x by lazy { 5 } // считает 1 рах, но лениво override val x get() = 5 // считает каждый раз
А как с точки зрения Java мы можем присвоить final переменную в наследнике?)
Я знаю пару способов. Но за такое бьют ногами
override val x by { 5 } // считает 1 рах, но лениво :O
Type '() -> Int' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate Ах ты обманщик. Дописывай туда забытое слово.
В смысле поле? Просто поле там спрятано
Таки я настолько ленивый, что не написал туда слово)
Обсуждают сегодня