2016-03-12 45 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

=>类是使用关键字类声明:

类发票{}

=>这两个报头和主体是可选的;如果班级没有身体,可以省略花括号。

类发票