在kotlin中也存在包的概念,kotlin中的包和目录没有任何关系,它仅仅是为了引用文件中的资源设计的。为了更好说明kotlin中包的概念,首先建立2个kotlin文件:MyKotlin.kt和Person.kt。Person.kt代码如下:
package a.b
fun getName() : String {
return "bill"
}
class MyClass {}
在Person.kt中使用了package关键字定义了a.b包,对于kotlin来说,Person.kt可以在当前目录或任意其他目录,这里的MyKotlin.kt和Person.kt位于同一个目录。
MyKotlin.kt代码:
fun main(args : Array<String>) {
println(a.b.getName())
println(a.b.MyClass())
}
Kotlin可以使用import提前导入一些资源,如函数,类,或kotlin文件中的所有东西。
例如:
import a.b.getName
import a.b.MyClass
也可以一次性导入某个包的所有资源:
import a.b.*
按照上述方式引入了相关资源,MyKotlin.kt文件可以按照以下方式进行使用:
fun main(args : Array<String>) {
println(getName())
println(MyClass())
}
kotlin中的import还提供了给资源起一个别名的功能。
例如:
import a.b.getName as n
import a.b.MyClass as m
fun main(args : Array<String>) {
println(n())
println(m())
}
上述代码分别给getName和MyClass起了一个别名,如果资源拥有了别名,那么在当前文件中,原来的资源名就失效了,只能使用资源的别名。
Kotlin会默认导入下列的包:
kotlin.*
kotlin.annotation.*
kotlin.collections.*
kotlin.comparisons.*
kotlin.io.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*