Java把所有的类组织成包,Kotlin也有和Java相似的包的概念。
每一个Kotlin文件都能以一条package语句开头,那么这个文件中的所有类、函数及属性都会被放到这个包中,属于这个包。
如果其它文件中也是以同样的package语句开头,那么它们属于同一个包,不管文件放在哪个目录结构下,不用和Java一样,必须把类文件放在和包结构相匹配的目录结构下。同一个包下的内容可以互相使用。
如果包不同,则需要导入它们。和java一样,使用关键字import。像下面这样声明包和导入其它包的内容。
package example.shapes
import java.util.Random
class Rectangle(val height: Int, val width: Int) {
val isSquare: Boolean
get() = height == width
}
fun createRandomRectangle(): Rectangle {
val random = Random()
return Rectangle(random.nextInt(), random.nextInt())
}
Kotlin还可以直接导入函数,导入后可直接使用对应的函数,像下面这样
package example.test
import example.shapes.createRandomRectangle
fun main(args: Array<String>) {
println(createRandomRectangle().isSquare)
}
Kotlin同样可以在包名称后加上.*来导入特定包中定义的所有声明,包括类、函数以及属性。