Kotlin(2):包
Kotlin的包使用方法和Java差不多,但有些不一樣的地方
1.一般用法
package com.dong.dimo.ui; public class ClassA { } 在另一個檔案中引入 import com.dong.dimo.ui.ClassA import com.dong.dimo.ui.*ClassA一切都可訪問
Java中com.dong.dimo.ui一定要與檔案目錄對應,ClassA .java在com/dong/dimo/ui目錄下面,但Kotlin沒有這個要求
2.頂層函式及屬性
Kotlin有頂層函式及屬性(不在類裡面宣告的函式及屬性,類似於c語言的全域性函式和屬性)
//Test.kt package test.static var pTest = 5 fun fTest (): Unit {} //Test2.kt如果沒有指明包,該檔案的內容屬於無名字的預設包。 var pTest2= 5 fun fTest2(): Unit {} //Test3.kt import test.static.pTest import pTest2//如果沒有指明包,該檔案的內容屬於無名字的預設包。 var a = pTest var a2 = pTest2
可見 如果沒有指明包,該檔案的內容屬於無名字的預設包。
如果沒有指明包,該檔案的內容屬於無名字的預設包。
預設匯入
有多個包會預設匯入到每個 Kotlin 檔案中:
- ofollow,noindex">kotlin.*
- kotlin.annotation.*
- kotlin.collections.*
- kotlin.comparisons.* (自 1.1 起)
- kotlin.io.*
- kotlin.ranges.*
- kotlin.sequences.*
- kotlin.text.*
根據目標平臺還會匯入額外的包:
-
JVM:
- java.lang.*
- kotlin.jvm.*
- JS:
重新命名匯入
import test.static.test1 as p var a = p
重新命名可以改變引用的命名,方便使用,同時可以使用 as 關鍵字在本地重新命名衝突項來消歧義
總結
- 報名和檔案路徑可以不一致
- 如果沒有指明包,該檔案的內容屬於無名字的預設包
- 匯入可以重新命名