Packages
源码文件以定义包开始:
package foo.bar
fun baz() {}
class Goo {}
// ...
baz()
的全名是 foo.bar.baz
,Goo
的全名是 foo.bar.Goo
。
若没有定义包名,则是 "default",没有包名。
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.*
Imports
除了平台导包外,我们还可以自己导包。
导包语法如下:
import (used by preamble)
: "import" SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI?
可导入一个类:
import foo.Bar // Bar is now accessible without qualification
导入某个包下的所有内容:
import foo.* // everything in 'foo' becomes accessible
处理导入两个相同名字的类,使用 as
起一个别名:
import foo.Bar // Bar is accessible
import bar.Bar as bBar // bBar stands for 'bar.Bar'
import
关键字并不局限于导入类,也可用于导入其他的:
- 顶级的函数和属性
- object declarations 声明的函数和属性
- enum constants 枚举常量
与 Java 不同,Kotlin 没有 import static
,都是使用 import
关键字。
Visibility of Top-level Declarations 顶级声明的可见性
若声明为 private
,则只有当前类可见, 详情查看 Visibility Modifiers 。
网友评论