这种类型的构造函数有什么不同?
class ColorsArray(context: Context) {}
和
class ColorsArray(var context: Context){}
答案 0 :(得分:8)
第二个类不仅声明了一个带Context
的构造函数,而且它还有一个名为context
的属性,它保存传递给构造函数的值。然后您可以这样访问:
val colorsArray = ColorsArray(context)
println(colorsArray.context)
由于您已将其声明为var
而非val
,因此也可以重新分配。
colorsArray.context = someOtherContext
在主要构造函数中声明的属性包含在文档here中。
答案 1 :(得分:0)
在第一种情况下,构造函数采用context
参数并且不执行任何操作。
在第二种情况下,提供了代码示例:
class ColorsArray(var context: Context) { }
是:
的快捷方式class ColorsArray(context: Context) {
var context: Context = context
}