2.包,函數(shù)、屬性和類、對(duì)象和接口可以在頂層聲明,即直接在包內(nèi)
古田ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!// 文件名:example.ktpackage foo
fun baz() { ...... }
class Bar { ...... }
//— 如果你不指定任何可?性修飾符,默認(rèn)為 public,這意味著你的聲明將隨處可?;
//— 如果你聲明為 private,它只會(huì)在聲明它的文件內(nèi)可?;
//— 如果你聲明為 internal,它會(huì)在相同模塊內(nèi)隨處可?;
//— protected 不適用于頂層聲明。
//注意:要使用另一包中可?的頂層聲明,仍需將其導(dǎo)入進(jìn)來(lái)。 例如:
// 文件名:example.kt package fooprivate fun foo() {
......
}// 在 example.kt 內(nèi)可?public var bar: Int = 5 // 該屬性隨處可?private set // setter 只在 example.kt 內(nèi)可?internal val baz = 6 // 相同模塊內(nèi)可?
3.類和接口,對(duì)于類內(nèi)部聲明的成員:
//— private意味著只在這個(gè)類內(nèi)部(包含其所有成員)可?;
//— protected ? 和 private 一樣 + 在子類中可?。
//— internal ? 能?到類聲明的 本模塊內(nèi) 的任何客戶端都可?其 internal 成員;
//— public ? 能?到類聲明的任何客戶端都可?其 public 成員。
//請(qǐng)注意在 Kotlin 中,外部類不能訪問(wèn)內(nèi)部類的 private 成員。
//如果你覆蓋一個(gè) protected 成員并且沒(méi)有顯式指定其可?性,該成員還會(huì)是 protected 可?性。 例子:
openclass Outer {
private val a = 1 protected open val b = 2 internal val c = 3
val d= 4 //默認(rèn)public protected class Nested {
public val e: Int = 5
}
}
class Subclass : Outer() { // a 不可?
// b、c、d 可?
// Nested 和 e 可? override val b = 5 // “b”為 protected}
class Unrelated(o: Outer) {
// o.a、o.b 不可?
// o.c 和 o.d 可?(相同模塊)
// Outer.Nested 不可?,Nested::e 也不可?}
4.構(gòu)造函數(shù),要指定一個(gè)類的的主構(gòu)造函數(shù)的可?性,使用以下語(yǔ)法(注意你需要添加一個(gè)顯式constructor關(guān)鍵字)
class C private constructor(a: Int) { ...... }
//這里的構(gòu)造函數(shù)是私有的。默認(rèn)情況下,所有構(gòu)造函數(shù)都是 public,這實(shí)際上等于類可?的地方它就可?(即 一個(gè) internal 類的構(gòu)造函數(shù)只能在相同模塊內(nèi)可?)
5.局部聲明,局部變量、函數(shù)和類不能有可?性修飾符。
6.模塊,可?性修飾符 internal 意味著該成員只在相同模塊內(nèi)可?。更具體地說(shuō),一個(gè)模塊是編譯在一起的 一套 Kotlin 文件
//— 一個(gè)IntelliJIDEA模塊;
//— 一個(gè)Maven項(xiàng)目;
// 一個(gè) Gradle 源集(例外是 test 源集可以訪問(wèn) main 的 internal 聲明);
//— 一次 <kotlinc> Ant 任務(wù)執(zhí)行所編譯的一套文件。
網(wǎng)站標(biāo)題:kotlin類與對(duì)象——>可見(jiàn)性修飾符-創(chuàng)新互聯(lián)
文章出自:http://jinyejixie.com/article34/ccpjse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站制作、網(wǎng)站改版、商城網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容