源文件可以从包声明开始:
package foo.bar fun baz() {} class Goo {} // ...
源文件的所有内容(如类和函数)都包含在声明的包中。 所以,在上面的例子中,baz()
的全称是foo.bar.baz
,而Goo
的全称是foo.bar.Goo
。
如果没有指定包,则这样的文件的内容属于没有名称的“default
”包。
默认情况下,将多个软件包导入到每个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 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
关键字不限于导入类; 也可以使用它来导入其他声明:
与Java不同,Kotlin没有单独的“import static
”语法; 所有这些声明都使用常规import
关键字导入。
private
”,则对其声明的文件是私有的。