我对onStrike
变量有疑问。我在onStrike
中将UnionEmployee
声明为:var onStrike = False
。然后,转到主函数并创建一个UnionEmployee as x
对象,但是当我要设置x.onStrike = true
时,它说
未解决的引荐
是否有解决此问题的方法?
[一个可能的原因是您的列表不是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类中的属性,则应将其声明为属性。