Kotlin 与 android java 在 Dalvik VM 上的工作

我想知道 kotlin 在低级交互方面是否与 android java 相同。我的意思是将 android java 文件转换为 dex 文件,然后它们可以在 Dalvik VM 上运行,那么 kotlin 文件呢?是一样的方式还是有别的东西?我在哪里可以找到更多关于此的信息?可能有什么好书谈论它?谢谢你。


噜噜哒
浏览 112回答 2
2回答

郎朗坤

Kotlin 只是编译成 Java 的字节码。对于任何“特殊”功能,如扩展或空保护,Kotlin 只是注入一些代码。例如,使用空值保护,Kotlin 代码可能如下所示:fun setPackageName(pName: String) {    //do something}虽然它编译为:public final void setPackageName(@NotNull String pName) {    Intrinsics.checkParameterIsNotNull(pName, "setPackageName");    //do something}如果您在 Kotlin 中有一个带有 setter/getter 的变量:var something: Something? = null    get() {        return field    }    set(value) {        field = value    }Kotlin 只会将整个设置转换为私有成员变量和一些方法:private Something something;public Something getSomething() {    return something;}public void setSomething(Something something) {    this.something = something;}显然,这个 sett/getter 非常无用,但它说明了 Kotlin 可能会做什么。基本上,Kotlin 只是在编译时将自身转换为 Java。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java