您好,登錄后才能下訂單哦!
這篇文章主要介紹Kotlin中可見性修飾符有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在Kotlin中四種可見性修飾符:private、protected、internal、public,如果沒有顯示指定修飾符的話,默認可見性是public。
四種修飾符的說明
public修飾符表示 公有 。此修飾符的范圍最大。當不聲明任何修飾符時,系統會默認使用此修飾符。
internal修飾符表示 模塊 。對于模塊的范圍在下面會說明。
protected修飾符表示 私有`+`子類。值得注意的是,此修飾符不能用于頂層聲明,在下面可以看到。
private修飾符表示 私有 。此修飾符的范圍最小,即可見性范圍最低。
package com.iflytek.basekotlin.`class` //函數、屬性、類、對象和接口都可以在頂層聲明,即直接在包內 2021/6/22 fun method(){} // 默認為public ,隨處可見 2021/6/22 private class ClassA(){} // 只在該文件內可見 2021/6/22 private val classA:ClassA = ClassA() // 此處只能用private,因為ClassA只在該文件內可見,所以其對象也是 2021/6/22 internal interface InterfaceA{} // 只在同模塊內可見 2021/6/22 protected var name:String = "" // 錯誤:Modifier 'protected' is not applicable to 'top level property without backing field or delegate' 2021/6/22
如果不指定任何可見性修飾符,默認為public,這意味著隨處可見
如果聲明為private,只在聲明的文件內可見
如果聲明為internal,只在相同的模塊內可見
protected不適用于頂層聲明,即不適用于此場景
open class VisibilityDemo{ private val a = true // 只在該類內部可見 2021/6/22 protected val b = true // 在類內部和其子類中可見 2021/6/22 internal val c = true // 能見到類聲明的本模塊任何客戶端都可見 2021/6/22 val d = true // 能見到類聲明的任何客戶端都可見 2021/6/22 } class SubVisibility:VisibilityDemo(){ fun visible(){ //println(a) // 不可見 2021/6/22 println(b) // 可見 2021/6/22 println(c) // 可見 2021/6/22 println(d) // 可見 2021/6/22 } } class UnRelated(){ fun visible(visibilityDemo: VisibilityDemo){ // println(visibilityDemo.a) // 不可見 2021/6/22 // println(visibilityDemo.b) // 不可見 2021/6/22 println(visibilityDemo.c) // 可見 2021/6/22 println(visibilityDemo.d) // 可見 2021/6/22 } }
private 只在類內部可見
protected 在類及其子類中可見
internal 能見到類聲明的本模塊內可見
public 能見到類聲明處可見
以上是“Kotlin中可見性修飾符有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。