欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin入門學(xué)習(xí)教程之可見(jiàn)性修飾符

 更新時(shí)間:2021年11月11日 11:41:13   作者:冬天的毛毛雨  
在Kotlin中,不管是類、接口、構(gòu)造函數(shù)、函數(shù)、屬性及其設(shè)置器都具有可見(jiàn)性修飾符,下面這篇文章主要給大家介紹了關(guān)于Kotlin入門學(xué)習(xí)教程之可見(jiàn)性修飾符的相關(guān)資料,需要的朋友可以參考下

前言

在Kotlin中四種可見(jiàn)性修飾符:private、protected、internal、public,如果沒(méi)有顯示指定修飾符的話,默認(rèn)可見(jiàn)性是public。

四種修飾符的說(shuō)明

  • public修飾符表示 公有 。此修飾符的范圍最大。當(dāng)不聲明任何修飾符時(shí),系統(tǒng)會(huì)默認(rèn)使用此修飾符。
  • internal修飾符表示 模塊 。對(duì)于模塊的范圍在下面會(huì)說(shuō)明。
  • protected修飾符表示 私有`+`子類。值得注意的是,此修飾符不能用于頂層聲明,在下面可以看到。
  • private修飾符表示 私有 。此修飾符的范圍最小,即可見(jiàn)性范圍最低。

1、包場(chǎng)景下的可見(jiàn)性修飾符

package com.iflytek.basekotlin.`class`
//函數(shù)、屬性、類、對(duì)象和接口都可以在頂層聲明,即直接在包內(nèi)  2021/6/22
fun method(){} // 默認(rèn)為public ,隨處可見(jiàn) 2021/6/22
private class ClassA(){} // 只在該文件內(nèi)可見(jiàn)  2021/6/22
private val classA:ClassA = ClassA() // 此處只能用private,因?yàn)镃lassA只在該文件內(nèi)可見(jiàn),所以其對(duì)象也是  2021/6/22
internal interface InterfaceA{} // 只在同模塊內(nèi)可見(jiàn) 2021/6/22
protected var name:String = "" // 錯(cuò)誤:Modifier 'protected' is not applicable to 'top level property without backing field or delegate'  2021/6/22
  • 如果不指定任何可見(jiàn)性修飾符,默認(rèn)為public,這意味著隨處可見(jiàn)
  • 如果聲明為private,只在聲明的文件內(nèi)可見(jiàn)
  • 如果聲明為internal,只在相同的模塊內(nèi)可見(jiàn)
  • protected不適用于頂層聲明,即不適用于此場(chǎng)景

2、類內(nèi)部聲明的成員

open class VisibilityDemo{
    private val a = true // 只在該類內(nèi)部可見(jiàn)  2021/6/22
    protected val b = true // 在類內(nèi)部和其子類中可見(jiàn)  2021/6/22
    internal val c = true // 能見(jiàn)到類聲明的本模塊任何客戶端都可見(jiàn)  2021/6/22
    val d = true // 能見(jiàn)到類聲明的任何客戶端都可見(jiàn)  2021/6/22
}


class SubVisibility:VisibilityDemo(){
    fun visible(){
        //println(a) // 不可見(jiàn)  2021/6/22
        println(b) // 可見(jiàn)  2021/6/22
        println(c) // 可見(jiàn)  2021/6/22
        println(d) // 可見(jiàn)  2021/6/22
    }
}


class UnRelated(){
    fun visible(visibilityDemo: VisibilityDemo){
//        println(visibilityDemo.a) // 不可見(jiàn)  2021/6/22
//        println(visibilityDemo.b) // 不可見(jiàn)  2021/6/22
        println(visibilityDemo.c) // 可見(jiàn)  2021/6/22
        println(visibilityDemo.d) // 可見(jiàn)  2021/6/22
    }
}
  • private 只在類內(nèi)部可見(jiàn)
  • protected 在類及其子類中可見(jiàn)
  • internal 能見(jiàn)到類聲明的本模塊內(nèi)可見(jiàn)
  • public 能見(jiàn)到類聲明處可見(jiàn)

總結(jié)

到此這篇關(guān)于Kotlin入門學(xué)習(xí)教程之可見(jiàn)性修飾符的文章就介紹到這了,更多相關(guān)Kotlin可見(jiàn)性修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Kotlin對(duì)象的懶加載方式by?lazy?與?lateinit?異同詳解

    Kotlin對(duì)象的懶加載方式by?lazy?與?lateinit?異同詳解

    這篇文章主要為大家介紹了Kotlin對(duì)象的懶加載方式by?lazy?與?lateinit?異同詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android開(kāi)發(fā)實(shí)現(xiàn)圖片圓角的方法

    Android開(kāi)發(fā)實(shí)現(xiàn)圖片圓角的方法

    這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)圖片圓角的方法,涉及Android針對(duì)圖形圖像的相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • Android Broadcast原理分析之registerReceiver詳解

    Android Broadcast原理分析之registerReceiver詳解

    這篇文章主要介紹了Android Broadcast原理分析之registerReceiver詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android基于MLKit實(shí)現(xiàn)條形碼掃碼的代碼示例

    Android基于MLKit實(shí)現(xiàn)條形碼掃碼的代碼示例

    這篇文章將借助開(kāi)源庫(kù)?MLKit?實(shí)現(xiàn)條形碼掃描,對(duì)于商品條形碼也可以很好地識(shí)別成功,該庫(kù)的使用內(nèi)容非常豐富,除了條碼識(shí)別,還有文字識(shí)別、圖像標(biāo)記、人臉檢測(cè)等等,本文篇文章就只介紹最基本的條形碼掃描使用,需要的朋友可以參考下
    2023-08-08
  • 詳解Android中App的啟動(dòng)界面Splash的編寫方法

    詳解Android中App的啟動(dòng)界面Splash的編寫方法

    這篇文章主要介紹了Android中App的啟動(dòng)界面Splash的編寫方法,需要的朋友可以參考下
    2016-02-02
  • Kotlin Suspend掛起函數(shù)的使用詳解

    Kotlin Suspend掛起函數(shù)的使用詳解

    這里介紹 Kotlin Suspend 掛起函數(shù)的使用。掛起(suspend)函數(shù)是所有協(xié)程的核心。 掛起函數(shù)可以執(zhí)行長(zhǎng)時(shí)間運(yùn)行的操作并等待它完成而不會(huì)阻塞主線程。Kotlin 的 suspend 關(guān)鍵字可以幫助我們消除回調(diào),用同步的寫法寫異步
    2023-02-02
  • 最新評(píng)論