類,物件,介面,建構函式,方法,屬性以及屬性的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...