亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Kotlin 與 android java 在 Dalvik VM 上的工作

Kotlin 與 android java 在 Dalvik VM 上的工作

嚕嚕噠 2021-09-12 16:40:58
我想知道 kotlin 在低級交互方面是否與 android java 相同。我的意思是將 android java 文件轉換為 dex 文件,然后它們可以在 Dalvik VM 上運行,那么 kotlin 文件呢?是一樣的方式還是有別的東西?我在哪里可以找到更多關于此的信息?可能有什么好書談論它?謝謝你。
查看完整描述

2 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

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。


查看完整回答
反對 回復 2021-09-12
  • 2 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號