Inheritance 从Java类继承的Kotlin类是否也从其他类继承?
从Java类继承的Kotlin类是否也从其他类继承 如果我们有一个Java类Foo和一个继承自Foo的Kotlin类栏,并且我们正试图在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()){ 变量项:可变
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在这方面是通用不变的,我震惊地发现,如果我阅读正确的话,这应该是可能的。我对这个发现没有足够的信心将其列为答案,但这至少会给你一个很好的线索。