日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

kotlin sealed 中_7.8 Kotlin Sealed类

發(fā)布時(shí)間:2024/10/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kotlin sealed 中_7.8 Kotlin Sealed类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

密封(Sealed)類是一個(gè)限制類層次結(jié)構(gòu)的類。

可以在類名之前使用sealed關(guān)鍵字將類聲明為密封類。

它用于表示受限制的類層次結(jié)構(gòu)。

當(dāng)對(duì)象具有來(lái)自有限集的類型之一,但不能具有任何其他類型時(shí),使用密封類。

密封類的構(gòu)造函數(shù)在默認(rèn)情況下是私有的,它也不能允許聲明為非私有。

密封類聲明

在類名之前使用sealed關(guān)鍵字將類聲明為密封類。

sealed class MyColor {

}

密封類的子類必須在密封類的同一文件中聲明。

sealed class MyColor {

class Yellow : MyColor()

class Red : MyColor()

class Black : MyColor()

}

密封類僅在編譯時(shí)限制類型集來(lái)確保類型安全的重要性。

sealed class MyColor {

class Yellow : MyColor()

class Red : MyColor()

class Black : MyColor()

}

sealed class ColorA {

class White : MyColor() //不起作用,因?yàn)槊芊忸愒诹硪粋€(gè)范圍內(nèi)定義。

}

sealed class ColorB : MyColor() {

}

密封類隱式是一個(gè)無(wú)法實(shí)例化的抽象類。

sealed class MyColor()

fun main(args: Array) {

val color = MyColor() //密封類型無(wú)法實(shí)例化

}

密封類的必要性

讓我們首先了解密封類的必要性,下面的例子中,我們有一個(gè)類MyColor,它有三個(gè)子類Yellow、Red和Black。evals()方法中的when表達(dá)式必須使用else分支,否則我們會(huì)得到一個(gè)編譯錯(cuò)誤。

示例1:

open class MyColor {

class Yellow : MyColor()

class Red : MyColor()

class Black : MyColor()

}

fun evals(color: MyColor) = when (color) {

is MyColor.Yellow -> println("yellow")

is MyColor.Red -> println("red")

is MyColor.Black -> println("black")

else -> println("other") //必須包含else分支,否則編譯錯(cuò)誤

}

fun main(args: Array) {

evals(MyColor.Black())

}

Kotlin 密封類示例

密封類通常與表達(dá)時(shí)一起使用。 由于密封類的子類將自身類型作為一種情況。 因此,密封類中的when表達(dá)式涵蓋所有情況,從而避免使用else子句。

sealed class MyColor {

class Yellow : MyColor()

class Red : MyColor()

class Black : MyColor()

}

fun evals(color: MyColor) = when (color) {

is MyColor.Yellow -> println("yellow")

is MyColor.Red -> println("red")

is MyColor.Black -> println("black")

}

fun main(args: Array) {

evals(MyColor.Black())

}

結(jié)果:black

總結(jié)

以上是生活随笔為你收集整理的kotlin sealed 中_7.8 Kotlin Sealed类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕有码在线播放 | 少妇久久久久久被弄高潮 | 国产精品网页 | 亚洲一区二区自偷自拍 | 欧美夜夜 | 初尝黑人巨炮波多野结衣 | 天天综合天天 | 国产在线1区 | 欧美成人三级在线视频 | 婷婷色在线播放 | av黄色大片 | 免费一级淫片aaa片毛片a级 | 久久av片| 男女一起插插插 | 豆豆色成人网 | 国产欧美视频在线观看 | 在线天堂在线 | 国产一区二区视频免费观看 | 国产精品一区一区三区 | 真实人妻互换毛片视频 | 亚洲五月天综合 | 色99999| 99热这里都是精品 | 伦理片波多野结衣 | 国产精品一区二区在线看 | 91精品国自产在线观看 | 黄色片成人| 欧美性视频播放 | 欧美综合网站 | 亚洲精品免费av | 奇米影视在线 | 欧美色图激情 | 绿帽视频 | 精品一区日韩 | 欧洲黄视频| 午夜激情小视频 | 超碰人人草 | 亚洲成人自拍网 | 国产精品电影 | 调教一区| 波多野结衣在线播放视频 | 欧美福利一区二区三区 | 欧美性受xxxx黑人猛交88 | 日韩第九页 | 欧美视频一区二区三区在线观看 | 国产日韩精品suv | 大胸喷奶水www视频妖精网站 | 高级毛片 | 亚洲成人福利在线 | 日本人添下边视频免费 | 免费无码av片在线观看 | 国产综合视频一区 | 亚洲国产一二三 | 久久久久久久久久网站 | 伊人久久久久久久久久 | 初尝黑人巨炮波多野结衣 | 毛片av网站 | 大尺度床戏揉捏胸视频 | 99在线精品视频免费观看软件 | 饥渴丰满的少妇喷潮 | 国产三级在线播放 | 国产黄色片免费看 | 午夜av影院 | 久久国产香蕉视频 | www.com日本| 伊人春色av | 国产精品.xx视频.xxtv | 99re视频| 一区二区三区黄色片 | 亚洲成av人片一区二区 | 天天躁夜夜躁 | 久久99精品久久久久婷婷 | 国产成人在线精品 | 国产又好看的毛片 | 天天爱天天射 | 操操操视频 | 国产成人综合久久 | 玉米地疯狂的吸允她的奶视频 | 手机av免费在线观看 | 少妇超碰 | 三级精品视频 | 国产精品欧美亚洲 | 中文字幕影院 | 亚洲色图在线观看 | 中国黄色免费 | 免费看黄色小视频 | 中文字幕一区二区av | 日韩精品xxxx | 亚洲精选中文字幕 | 91久久久久国产一区二区 | 97视频一区 | 国产天堂 | 国产久一 | 欧美激情综合色综合啪啪五月 | 天天干天天操天天射 | 91综合国产 | 看免费黄色片 | 亚洲视频一区二区三区 | 国产成人综合在线视频 |