2016-03-12 58 views
2

我正在使用Kotlin編程語言使用此blog創建示例Android項目。我是Kotlin編程的新手。我碰到這條線,Kotlin中的類聲明

data class Cats(var data: Data? = null)

,我認爲它是,創建一個名爲Cats類,有一個名爲data變量。 data: Data? = null是什麼意思?我的整個類模型是:

data class Cats(var data: Data? = null) 

data class Data(var images: ArrayList<Image>? = null) 

data class Image(var url: String? = "", var id: String? = "", var source_url: String? = "") 
+2

你也應該與你博客中提到的陪讀整個科特林語言參考:https://kotlinlang.org/docs/reference/ ...和你想知道都覆蓋有概念。 –

回答

5

你是正確的,Cats類將有一個名爲data一個可變的特性,因爲它被聲明一個類的主構造內與var關鍵字(見文檔頁面約classesproperties )。

接下來,Kotlin中類型名稱處的問號表示變量具有nullable type,也就是說,它可以存儲null值。另一方面,非空類型的變量在Kotlin中不能包含null

data: Data? = null是用於default parameter值的語法。它允許不將data參數傳遞給構造函數調用,在這種情況下,將使用默認值null。這也適用於功能。

最後,在data modifier類聲明意味着equalshashCodetoStringcopy和解構將爲類來生成,基於在主構造聲明的屬性。在科特林

0

=>類是使用關鍵字類聲明:

類發票{}

=>這兩個報頭和主體是可選的;如果班級沒有身體,可以省略花括號。

類發票