继承自Java类的Kotlin类是否也继承自Any?

时间:2017-08-08 17:09:09

标签: inheritance kotlin

从Java类继承的Kotlin类是否也继承自Any?

如果我们有一个Java类Foo,以及一个继承自Foo的Kotlin类Bar,并且我们试图在Kotlin的MutableList中使用它,那么下面的工作应该如何?

class Class(items: MutableList<Bar> = mutableListOf()) {
    var items: MutableList<Any> = items
}

1 个答案:

答案 0 :(得分:5)

是。 Anymapped type,对应于java.lang.Object(这是所有Java类的超类型),因此,基本上,每个Java类都从Kotlin看作{{1}的子类型}。只要Any非空,something is Any检查对于Kotlin和Java类型都是正确的。

实际上,something Any表示

java.lang.Object