Kotlin学习之-4.3.2 包管理

Kotlin学习之-4.3.2 包管理

Kotlin源文件是以包定义开头的:

package foo.bar
fun baz() {}
class Goo() {}
// ...

所有源文件中的的内容包括类和函数都在定义的包中。所以在上面的例子中,函数baz()的全名是foo.bar.baz, 类Goo的全名是foo.bar.Goo
如果包没有定义,那么源文件的内容将全部属于”默认”包下, 该”默认”包没有名称。

默认包引入 Default Imports

下面的包是被默认引入到全部kotlin文件中的:

  • kotlin.*
  • kotlin.annotation.*
  • kotlin.collections.*
  • kotlin.comparisons.* (since 1.1)
  • kotlin.io.*
  • kotlin.ranges.*
  • kotlin.sequences.*
  • kotlin.text.*

下面的附加包是根据目标平台情况添加的:

  • JVM:
    • java.lang.*
    • kotlin.jvm.*
  • JS:
    • kotlin.js.*

普通包引入

除了上述默认包引入之外,每个源文件可以包含自己的包文件夹。引入包的语法详见语法

我们可以引入一个名字,例如:

import foo.Bar  // Bar 可以直接访问,不需要前缀

也可以是一个范围

import foo.*

如果有名称冲突,我们可以使用新的关键字来替换旧的有冲突的名称。

import foo.Bar
import bar.Bar as otherBar // otherBar 代表 'bar.Bar'

关键字import不是仅用于引入类, 还可以用它来引入其他声明:

  • 顶级的函数和属性
  • 定义的对象声明区的函数和属性
  • 枚举常量

和Java不同的是,Kotlin没有单独的静态引入import static语法, 所有这些声明都是通过import关键字来引入的

顶级声明的可见性

如果一个顶级声明被标记为私有的private ,那这个声明仅会在该文件中可见。详见可见性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章