Inheritance 从Java类继承的Kotlin类是否也从其他类继承?

Inheritance 从Java类继承的Kotlin类是否也从其他类继承?,inheritance,kotlin,Inheritance,Kotlin,从Java类继承的Kotlin类是否也从其他类继承 如果我们有一个Java类Foo和一个继承自Foo的Kotlin类栏,并且我们正试图在Kotlin中的可变列表中使用它,那么下面的工作应该正常吗 class Class(items: MutableList<Bar> = mutableListOf()) { var items: MutableList<Any> = items } 类(项:MutableList=mutableListOf()){ 变量项:可变

从Java类继承的Kotlin类是否也从其他类继承

如果我们有一个Java类Foo和一个继承自Foo的Kotlin类栏,并且我们正试图在Kotlin中的可变列表中使用它,那么下面的工作应该正常吗

class Class(items: MutableList<Bar> = mutableListOf()) {
    var items: MutableList<Any> = items
}
类(项:MutableList=mutableListOf()){ 变量项:可变项列表=项 }
Any
是一个对应于
java.lang.Object
(这是所有java类的超类型)的类,因此,基本上,每个java类都从Kotlin被视为
Any
的子类型。只要
something
非空,Kotlin和Java类型的
something是Any
检查总是正确的

实际上,
Any
在JVM平台上由
java.lang.Object
表示:

println(Any::class.qualifiedName) // kotlin.Any
println(Any::class.jvmName)       // java.lang.Object

我对Kotlin还不太了解,但知道Java在这方面是通用不变的,我震惊地发现,如果我阅读正确的话,这应该是可能的。我对这个发现没有足够的信心将其列为答案,但这至少会给你一个很好的线索。