Kotiln包

Kotiln包

一個源文件以包聲明開始:

package foo.bar
fun bza() {}
class Goo {}

源文件的所有內容(比如類和函數)都被包聲明包括。因此在上面的例子中,bza()的全名應該是foo.bar.bza,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.*

Imports

我們可以導入一個單獨的名字,比如下面這樣:

import foo.Bar // Bar 現在可以不用條件就可以使用

或者範圍內的所有可用的內容 (包,類,對象,等等):

import foo.*/ /foo 中的所有都可以使用

如果命名有衝突,我們可以使用 as 關鍵字局部重命名解決衝突

import foo.Bar // Bar 可以使用
import bar.Bar as bBar // bBar 代表 'bar.Bar'

import關鍵字不侷限於導入類;您也可以使用它來導入其他聲明:
– 頂級函數與屬性
– 在對象聲明中聲明的函數和屬性
– 枚舉常量

可見性和包嵌套

如果最頂的聲明標註爲private,那麼它是自己對應包私有。如果包內有私有的屬性或方法,那它對所有的子包是可見的。注意包外的的成員是默認不導入的,比如在導入foo.bar後我們不能獲得foo的成員

發佈了46 篇原創文章 · 獲贊 23 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章