Kotlin的类声明

我正在使用这个博客使用Kotlin编程语言创建一个示例Android项目。 我是Kotlin编程的新手。 我碰到这条线,

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

我相信这是创建一个名为Cats的类,它有一个名为data的variables。 这个data: Data? = null是什么data: Data? = null data: Data? = null意味着什么? 我的整个class级模型是:

 data class Cats(var data: Data? = null) data class Data(var images: ArrayList? = null) data class Image(var url: String? = "", var id: String? = "", var source_url: String? = "") 

你是对的, Cats类将有一个名为data的可变属性,因为它是在var关键字的类的主要构造函数中声明的(请参阅关于类和属性的文档页面)。

接下来,Kotlintypes名称的问号意味着一个variables具有可为空的types ,也就是说,它可以存储null值。 另一方面,非空types的variables在Kotlin中不能包含null

data: Data? = null data: Data? = null是默认参数值的语法。 它允许不将dataparameter passing给构造函数调用,在这种情况下将使用默认值null 。 这也适用于function。

最后,类声明中的data修饰符意味着将根据在主构造函数中声明的属性为该类生成equalshashCodetoStringcopy和解构。

=> Kotlin中的类是使用关键字class声明的:

class Invoice {}

=>标题和正文都是可选的; 如果class级没有身体,可以省略花括号。

类发票