Одной из возможных причин является то, что ваш список не MutableList<UnionEmployee>
, а список некоторых супертипов UnionEmployee
, например просто MutableList<Employee>
. Это может объяснить, почему вы можете успешно добавить туда UnionEmployee
и вызвать метод work
для элемента этого списка. Если это так, то вы должны либо объявить свой список как MutableList<UnionEmployee>
, либо преобразовать полученный элемент в UnionEmployee
, если вы уверены, что он будет такого типа:
(list[3] as UnionEmployee).onStrike = true
Другое объяснение зависито том, UnionEmployee
написано на Java или в Kotlin. Если это в Java, то getOnStrike
/ setOnStrike
java-методы доступны в Kotlin как свойство onStrike
. Если класс находится в Kotlin, то эти функции должны вызываться из Kotlin так, как они были объявлены - то есть как функции. Если вам нужно свойство в классе Kotlin, вы должны объявить его как свойство.