原文地址
Packages(包)
源文件可以从包声明开始:
package foo.bar
fun baz() {}
class Goo {}
// ...
所有源文件的内容(例如类和函数)被包声明包含。所以在之上的例子当中,baz()的全称是foo.bar.baz,Goo的全称是foo.bar.Goo。如果包没被指定,这样文件的内容属于没有名称的”default”包
Default Imports(默认导入)
一些包被默认导入:
• 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 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;
- 枚举常量;
不像java,Kotlin没有分开的”import static“语法;当中所有的声明被导入通过使用常规的import关键字。
Visibility of Top-level Declarations(顶层声明的可见性)
如果顶层声明被标记为private,它对它所声明的文件是私有的(参看可见性修饰符)
网友评论