Kotlin中@JvmOverloads、@JvmStatic、@JvmField、@JvmName注解

1 @JvmOverloads

為了解決java不能重載kotlin有默認(rèn)參數(shù)的方法

所以需要在kotlin方法上添加@JvmOverloads,加上后就是正常的了

2 @JvmStatic、@JvmField

為了解決在java中不能直接調(diào)用kotlin中的靜態(tài)方法和靜態(tài)變量


如果需要在JAVA中也直接類名.調(diào)用靜態(tài)方法和變量的話需要加上注解

3 @JvmName

這個(gè)注解可以改變字節(jié)碼中生成的類名或方法名稱,如果作用在頂級(jí)作用域(文件中),則會(huì)改變生成對(duì)應(yīng)java類的名稱,如果作用在方法上,則會(huì)改變生成對(duì)應(yīng)JAVA方法的名稱。

可以看到第一個(gè)注解@file:JvmName("TanTestKt")的作用是使生成的類名變?yōu)門anTestKt

第二個(gè)注解的作用是使生成的方法名稱變?yōu)門anMain

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容