Kotlin語法(九) 修飾符

2021-07-22 09:00:18 字數 1434 閱讀 4040

類,物件,介面,建構函式,方法,屬性以及屬性的setter方法都可以用可見修飾符(visibility modifiers)來做修飾(getter同屬性有著相同的可見性)。  

在kotlin中有以下四個可見性修飾符

ø  private:同一類或檔案(針對包級別定義)中可見

ø  protected:同private 加子類可見

ø  internal:在同乙個模組中可見(如果宣告範圍的所有者是可見的)

ø  public:公共,所有都可見

函式、屬性、類、物件及介面,都可以在頂層(top-level)定義;即直接定義在包內。

// file name:example.kt

package foo

fun baz() {}

class bar {}

l  沒有顯式定義訪問修飾符,預設為「public」,對所有可見。

l  使用「private」,該檔案可見。

l  使用「internal」,該模組可見。

l  不能使用「protected」修飾。

// file name: example.kt

package foo

private fun foo() {}   // visible inside example.kt

public var bar: int = 5 // property is visible everywhere

private set     // setter is visible only in example.kt

internal val baz = 6  // visible inside the same module

在類或介面中使用:

ø  private:只該類可見(包括該類的所有成員)

ø  protected:同private 加子類可見

ø  internal:在同乙個模組中可見

ø  public:公共,所有都可見

注:在kotlin中,外層的類(

outer class)不能訪問內部類(inner classes)的private成員。

重寫了乙個「protected」成員,若沒有再顯式宣告,預設為「protected」。

open class outer

}class subclass : outer()

class unrelated(o: outer)

可以在類的主建構函式前新增可見修飾符,來指定可見性(建構函式需要使用「constructor

」關鍵字顯式宣告)。

預設情況下,所有的建構函式都是「

public」。

classc private constructor(a: int)

區域性變數,函式和類不能新增可見性修飾符。

kotlin 可見性修飾符

人要每天給自己找點事幹,無所事事會毀掉乙個人,對於類 方法,介面,構造器,方法,屬性和他們的setter方法都可以有可見性的修飾符,在kotlin中有四種修飾符,private,protected,internal,public,如果沒有說明預設的是public public 修飾符指的是屬性或者是...

修飾符 許可權修飾符

四種形式許可權修飾符的訪問情況 publicprotected不寫private 同乙個類中 四種都可以 同一包中的不同類 除了private剩下都可以 不同包下的子類 public protected 可以 不同包下的不同類 只有public可以 許可權修飾符 public protected 預...

Kotlin學習(11) 可見性修飾符

1 應用域 類 物件 介面 建構函式 方法 屬性和它們的setter都可以有可見性修飾符。在kotlin中有四個可見性修飾符 如果沒有顯式指定修飾符的話,預設可見性都是public。2 包名 函式 屬性和類 物件和介面可以在頂層宣告,即直接在包內 package foofun baz class b...