Kotlin包
源文件可以從包聲明開始:
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.*
-
導入
除了默認導入,每個文件可能包含其自己的導入指令。有關導入語法的描述:(http://www.yiibai.com/kotlin/grammar.html#import)。
可以導入單個名稱,例如:
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
」,則對其聲明的文件是私有的(請參閱「可見性修飾符」)。