如果要利用构造函数,kotlin必须有主构造函数 才能写其他构造函数(这里可以叫次构造函数)
1、主构造函数
可以携带参数,这个参数直接成为全局变量
在项目中的例子
public class GuideViewPagerAdapter(var context:Context) : PagerAdapter() {
private var images: MutableList<View> = null!!
init {
val imageView1 = ImageView(context)
imageView1.setImageResource(R.drawable.guide1)
val imageView2 = ImageView(context)
imageView2.setImageResource(R.drawable.guide2)
val imageView3 = ImageView(context)
imageView3.setImageResource(R.drawable.guide3)
//images = listOf(imageView1,imageView2,imageView3);
images.add(imageView1);
images.add(imageView2);
images.add(imageView3);
}
}
可见kotlin主构造函数就是在类名后写()
2、次构造函数
kotlin利用constructor关键字写次构造函数。
如果有构造函数,主构造必须存在且可以为空
项目中的例子:
public class GuideViewPagerAdapter() : PagerAdapter() {
private var images: MutableList<View> = null!!
constructor(context: Context) : this() {
val imageView1 = ImageView(context)
imageView1.setImageResource(R.drawable.guide1)
val imageView2 = ImageView(context)
imageView2.setImageResource(R.drawable.guide2)
val imageView3 = ImageView(context)
imageView3.setImageResource(R.drawable.guide3)
//images = listOf(imageView1,imageView2,imageView3);
images.add(imageView1);
images.add(imageView2);
images.add(imageView3);
}
}
两种方法都可以这样调用
var adapter: GuideViewPagerAdapter = GuideViewPagerAdapter(this)
本文介绍了Kotlin中构造函数的概念及使用方式,包括主构造函数和次构造函数的区别与联系,并通过实例展示了如何在实际项目中应用这些构造函数。
901

被折叠的 条评论
为什么被折叠?



