一个源文件以包声明开始:
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,那么它在其声明的文件中是私有的(参见 可见度修饰符)。
作者:jim__charles 发表于2017/5/23 13:43:53 原文链接
阅读:34 评论:0 查看评论