Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin中的类声明_Kotlin - Fatal编程技术网

Kotlin中的类声明

Kotlin中的类声明,kotlin,Kotlin,我使用Kotlin编程语言创建了一个示例Android项目。我是Kotlin编程新手。我遇到了这条线 数据类CAT(var数据:数据?=null) 我相信是这样,创建了一个名为Cats的类,它有一个名为data的变量。这是什么data:data?=空表示什么?我的整个班级模式是: data class Cats(var data: Data? = null) data class Data(var images: ArrayList<Image>? = null) data cl

我使用Kotlin编程语言创建了一个示例Android项目。我是Kotlin编程新手。我遇到了这条线

数据类CAT(var数据:数据?=null)

我相信是这样,创建了一个名为
Cats
的类,它有一个名为
data
的变量。这是什么
data:data?=空
表示什么?我的整个班级模式是:

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? = "")
数据类猫(变量数据:数据?=null)
数据类数据(变量图像:ArrayList?=null)
数据类映像(变量url:String?=“”,变量id:String?=“”,变量源\u url:String?=“”)

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

接下来,Kotlin中type name处的问号表示变量具有,也就是说,它可以存储
null
值。另一方面,非null类型的变量不能在Kotlin中保存
null
s

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


最后,at类声明意味着将根据主构造函数中声明的属性为类生成
equals
hashCode
toString
copy
和destructuring

类别发票{}

=>头部和主体都是可选的;如果类没有主体,则可以省略大括号


类发票

您还应该阅读整个Kotlin语言参考以及您提到的博客:。。。你想知道的概念都在这里。