У меня проблема с пониманием того, как значение параметра класса ведет себя между абстрактными / конкретными классами.
Пример абстрактного класса:
abstract class A {
init {
initStuff()
}
fun initStuff() {
additionalInit()
}
abstract fun additionalInit()
}
Пример конкретного класса:
class B(val exParam: Int): A {
init {
println("$exParam") // This would give expected value.
}
override fun additionalInit() {
println("$exParam") // Always zero even if exParam value is set.
}
}
Мой вопрос заключается в том, что, исходя из моего понимания, я хочу позвонить B(1000)
и ожидать, что оба значения println
внутри класса B выведут 1000
, но это был не тот случай, поэтому мое понимание здесь явно не так, чтобы любой мог зажечь меня до правильного понимания?