gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 03:14:08 25 4
gpt4 key购买 nike

从 Java 类继承的 Kotlin 类也从 Any 继承吗?

如果我们有一个 Java 类 Foo 和一个继承自 Foo 的 Kotlin 类 Bar,并且我们尝试在 Kotlin 中的 MutableList 中使用它,那么以下操作应该有效吗?

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

最佳答案

是的。 任何mapped type它对应于 java.lang.Object (它是所有 Java 类的父类(super class)型),因此,基本上,每个 Java 类在 Kotlin 中都被视为 Any 的子类型。只要 something 不为 null,something is Any 检查对于 Kotlin 和 Java 类型始终为 true。

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

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

关于inheritance - 继承自 Java 类的 Kotlin 类是否也继承自 Any?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45574258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com