kotlin類與對象——4.可見性修飾符

  • 可見性修飾符
    類、對象、接口、構造函數、方法、屬性和它們的setter都可以有可見性修飾符。(getter總是與屬性有相同的可見性)
    可見性修飾符:private、protect、internal、public,如果沒有顯示指定的話默認爲public。
    1.包
    函數、屬性、類、對象、接口可以在頂層聲明,既直接在包內
    public:這意味着聲明隨處可見
    private:只會在聲明它的文件可見
    internal:會在相同模塊隨處可見
    protected:不適宜與頂層聲明
    ==要使用另一包中的可見的頂層聲明,仍需將其導入進來
private fun foo() {  } // 在 example.kt 內可見

public var bar: Int = 5 // 該屬性隨處可見
    private set         // setter 只在 example.kt 內可見

internal val baz = 6    // 相同模塊內可見

2.類和接口
對於類和接口內部聲明的成員
private:只在這個類內部(包含其所有成員可見)
protected:在這個類的內部和子類中可見
interval:能見到類聲明的本模塊內的任何客戶端可見interval成員
public :能見到類聲明的任何客戶端都可見
外部類不能訪問內部類的private成員
如果覆蓋一個protected成員並且沒有顯示指定其可見性,該成員還是protected

  • 模塊
  • 可見性修飾符internal意味着該成員只在相同模塊可見。更具體地說,一個模塊是編譯在一起的一套kotlin文件:
    • 一個IntelliJ IDEA模塊
    • 一個Maven項目
    • 一個Gradle源集(例外:test源集可以訪問main的internal聲明)
    • 一次 ant任務執行所編譯的一套文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章