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 開發教學)

nano 文字編輯器

Android Studio 歷代版本下載點

16天記下7000單字

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