更新時(shí)間:2021-03-04 來(lái)源:黑馬程序員 瀏覽量:
任何一種編程語(yǔ)言都有特定的數(shù)據(jù)類(lèi)型,Scala也不例外。與其他語(yǔ)言相比,Scala中的所有值都有一個(gè)類(lèi)型,包括數(shù)值和函數(shù)。接下來(lái),通過(guò)一張圖來(lái)描述Scala數(shù)據(jù)類(lèi)型的層次結(jié)構(gòu),具體如圖1所示。
圖1 Scala中數(shù)據(jù)類(lèi)型的層次結(jié)構(gòu)
從圖1中可以看出,Any是所有類(lèi)型的超類(lèi)型,也稱為頂級(jí)類(lèi)型,它包含兩個(gè)直接子類(lèi),具體如下:
1.AnyVal:表示值類(lèi)型,值類(lèi)型描述的數(shù)據(jù)是一個(gè)不為空的值,而不是一個(gè)對(duì)象。它預(yù)定義了9種類(lèi)型,分別是Double、Float、Long、Int、Short、Byte、Unit、Char和Boolean。其中,Unit是一種不代表任何意義的值類(lèi)型,它的作用類(lèi)似Java中的void。
2.AnyRef:表示引用類(lèi)型??梢哉J(rèn)為,除值類(lèi)型外,所有類(lèi)型都繼承自AnyRef。
在Scala數(shù)據(jù)類(lèi)型層級(jí)結(jié)構(gòu)的底部,還有兩個(gè)數(shù)據(jù)類(lèi)型,分別是Nothing和Null,具體介紹如下:
1.Nothing:所有類(lèi)型的子類(lèi)型,也稱為底部類(lèi)型。它常見(jiàn)的用途是發(fā)出終止信號(hào),例如拋出異常、程序退出或無(wú)限循環(huán)。
2.Null:所有引用類(lèi)型的子類(lèi)型,它主要用途是與其他JVM語(yǔ)言互操作,幾乎不在Scala代碼中使用。
猜你喜歡:
Scala下載和環(huán)境變量配置教程
Scala是什么?Scala發(fā)展歷程簡(jiǎn)介
黑馬程序員大數(shù)據(jù)培訓(xùn)課程