Kotlin从入门到进阶实战
上QQ阅读APP看书,第一时间看更新

2.5 包声明

我们在*.kt源文件开头声明package命名空间。例如,在PackageDemo.kt源代码中,按照如下方式声明包:

Kotlin中的目录与包的结构无须匹配,源代码文件可以在文件系统中的任意位置。

如果一个测试类PackageDemoTest与PackageDemo在同一个包下面,我们就不需要单独去导入类和包级函数,可以在代码里直接调用。

其中,what()函数与PackageDemoTest类在同一个包命名空间下,因此可以直接调用,不需要导入。Motorbike类与PackageDemoTest类同理分析。

如果不在同一个包下面,我们就需要导入对应的类和函数。例如,我们在src\test\kotlin目录下新建一个package com.easy.kotlin.test,使用package com.easy.kotlin下面的类和函数,示例如下:

Kotlin会默认导入一些基础包到每个Kotlin文件中:

    kotlin.*
    kotlin.annotation.*
    kotlin.collections.*
    kotlin.comparisons.* (自1.1起)
    kotlin.io.*
    kotlin.ranges.*
    kotlin.sequences.*
    kotlin.text.*

根据目标平台还会导入额外的包。

  •  JVM平台上会默认导入下面的包:
    java.lang.*
    kotlin.jvm.*
  •  JS平台上会默认导入下面的包:
    kotlin.js.*