kotlin 官方学习教程之包

x33g5p2x  于2022-03-08 转载在 其他  
字(0.8k)|赞(0)|评价(0)|浏览(302)

一个源文件以包声明开始:

package foo.bar

fun baz() {}

class Goo {}

// ...

源文件的所有内容(比如类和函数)都被包声明包括。因此在上面的例子中, bza() 的全名应该是 foo.bar.bza ,Goo 的全名是 foo.bar.Goo。

默认导入

许多包被默认的导入 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.*

Imports

除了默认导入的包以外, 每个文件都有自己的导入命令。导入语法的声明在 grammar 中描述。

我们可以导入一个单独的名字,例如:

import foo.Bar // Bar 现在可以不用条件就能够使用

或者范围内所有可用的内容(包,类,对象等等):

import foo.* // 'foo' 中的所有都会变成可用的

如果命名有冲突,我们可以使用 as 关键字局部重命名解决冲突

import foo.Bar // Bar 是可用的
import bar.Bar as bBar // bBar 代表 'bar.Bar'

import 关键字不受限于导入类,你也可以用它来导入其它声明:

  • 顶级函数和属性
  • 在对象声明中声明的函数和属性
  • 枚举常数

不像 Java,Kotlin 没有 单独的 “import static” 语法,所有这些声明都使用常规 import 关键字导入。

顶级声明的可见性

如果一个顶级声明被标记为 private,那么它在其声明的文件中是私有的(参见 可见度修饰符)。

相关文章