Kotlin學習之-4.3.2 包管理

Kotlin學習之-4.3.2 包管理

Kotlin源文件是以包定義開頭的:

package foo.bar
fun baz() {}
class Goo() {}
// ...

所有源文件中的的內容包括類和函數都在定義的包中。所以在上面的例子中,函數baz()的全名是foo.bar.baz, 類Goo的全名是foo.bar.Goo
如果包沒有定義,那麼源文件的內容將全部屬於”默認”包下, 該”默認”包沒有名稱。

默認包引入 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.*

普通包引入

除了上述默認包引入之外,每個源文件可以包含自己的包文件夾。引入包的語法詳見語法

我們可以引入一個名字,例如:

import foo.Bar  // Bar 可以直接訪問,不需要前綴

也可以是一個範圍

import foo.*

如果有名稱衝突,我們可以使用新的關鍵字來替換舊的有衝突的名稱。

import foo.Bar
import bar.Bar as otherBar // otherBar 代表 'bar.Bar'

關鍵字import不是僅用於引入類, 還可以用它來引入其他聲明:

  • 頂級的函數和屬性
  • 定義的對象聲明區的函數和屬性
  • 枚舉常量

和Java不同的是,Kotlin沒有單獨的靜態引入import static語法, 所有這些聲明都是通過import關鍵字來引入的

頂級聲明的可見性

如果一個頂級聲明被標記爲私有的private ,那這個聲明僅會在該文件中可見。詳見可見性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章