Kotlin 教學【從零開始學 Kotlin 程式設計】Java 和 Kotlin 混合使用 - Kotlin 註解 @JvmName

【從零開始學 Kotlin 程式設計】
線上教學課程目錄:https://bit.ly/2Kx7GrM
Youtube 課程播放清單:https://bit.ly/3qJ5a5Q

JvmName

Kotlin 註解 @JvmName 範例

Java 使用 Kotlin 發生函數命名衝突時,可以使用注解 @JvmName 解決衝突問題。

範例檔案目錄結構

注意檔名錯誤和檔案放錯位置,會導致編譯錯誤,或是無法順利呼叫使用,需多加留意。

  • Main.kt 放在 src/main/kotlin 目錄裡面。
  • JavaClassDemo.java 放在 src/main/java/com.teachable.hkt 目錄裡面。

Main.kt

package com.teachable.hkt //沒有設定 package 名稱,Java 無法順利呼叫使用

@JvmName("myKotlinFun")
fun kotlinFun() {
    println("英文函數名稱")
}


fun main() {
    kotlinFun()
}

JavaClassDemo.java

今天 Java 呼叫 Kotlin 非類別時,需檔案名稱加上kt,例如檔名為:「Main.kt」呼叫該檔案中非類別的函數,即為「MainKt.函數名稱」。而當名函數發生命名衝突時,可以加入註解 @JvmName,解決命名衝突問題。

package com.teachable.hkt;

public class JavaClassDemo {
    public static void main(String[] args) {
        //MainKt.kotlinFun();//Kotlin 沒有使用 @JvmName,直接呼叫函數名稱
        MainKt.myKotlinFun();//Kotlin 使用 @JvmName,直接改呼叫 JvmName 名字,即可以解決命名衝突問題
    }
}

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

Android Studio 歷代版本下載點

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)

nano 文字編輯器