Kotlin是否可以调用jvm11代码?怎么样?

时间:2019-03-14 22:39:29

标签: kotlin jvm

Kotlin生成jvm8或jvm6代码。请考虑以下内容:

  • 您编写了一个jvm11(在Java中)库
  • 您编写了一个希望使用jvm11库的kotlin应用程序

这可能吗?如果是这样的话,这是如何运作的?

1 个答案:

答案 0 :(得分:1)

这是JVM的工作方式,并不完全针对Kotlin。

假设您有两个类Class1Class2,并且Class1需要调用Class2。然后Class1的字节码仅使用Class2的名称及其成员的签名。它不知道也不关心Class2是针对Java 5,Java 11还是Java 5000编译的。

Class1字节码表示例如“使用这些参数调用此Class2构造函数”。执行此代码后,将加载Class2(如果尚未加载),并将其字节码版本与JVM可以理解的版本进行比较。