Android中Kotlin语言构造函数的使用

如果要利用构造函数,kotlin必须有主构造函数 才能写其他构造函数(这里可以叫次构造函数)
1、主构造函数
可以携带参数,这个参数直接成为全局变量
在项目中的例子

public class GuideViewPagerAdapter(var context:Context) : PagerAdapter() {

    private var images: MutableList = 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 = 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)

你可能感兴趣的:(Android中Kotlin语言构造函数的使用)