Kotlin的Any类型和Java的Object之间有什么关系?

时间:2018-09-08 20:24:28

标签: java kotlin

谁能解释Kotlin的Any类型和Java的Object之间的关系?

我认为Any是Object的子类型。但这似乎是不正确的。

这里有来自源的Any类:

public open class Any {...}

以反编译形式显示以下代码:

fun main(args: Array<String>) {
    val x: Any = Object()
    println(x)
}

表示为:

public static final void main(@NotNull String[] args) {
      Intrinsics.checkParameterIsNotNull(args, "args");
      Object x = new Object();
      System.out.println(x);
   }

最终代码中没有任何内容。

此外,以某种方式无法在Any上调用某些Object的方法。例如:没有等待,通知,notifyAll。

此Any最终如何被Object取代,以及为什么限制Object类型的签名?

0 个答案:

没有答案