源文件可以從包聲明開始:
package foo.bar
fun baz() {}
class Goo {}
// ...
源文件的所有內(nèi)容(如類和函數(shù))都包含在聲明的包中。 所以,在上面的例子中,baz()的全稱是foo.bar.baz,而Goo的全稱是foo.bar.Goo。
如果沒有指定包,則這樣的文件的內(nèi)容屬于沒有名稱的“default”包。
默認情況下,將多個軟件包導入到每個Kotlin文件中:
kotlin.*kotlin.annotation.*kotlin.collections.*kotlin.comparisons.* (since 1.1)kotlin.io.*kotlin.ranges.*kotlin.sequences.*kotlin.text.*根據(jù)目標平臺導入其他軟件包:
JVM
java.lang.*kotlin.jvm.*JS
kotlin.js.*除了默認導入,每個文件可能包含其自己的導入指令。有關導入語法的描述:(http://www.yiibai.com/kotlin/grammar.html
可以導入單個名稱,例如:
import foo.Bar // Bar is now accessible without qualification
或包范圍的所有可訪問內(nèi)容(包,類,對象等):
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”語法; 所有這些聲明都使用常規(guī)import關鍵字導入。
如果頂級聲明被標記為“private”,則對其聲明的文件是私有的(請參閱“可見性修飾符”)。