匿名内部类

1. 创建匿名内部类

1)对象表达式

常规方式,一般用于实现的接口有多个方法要实现

        val observer = object : Observer {
            override fun onComplete() {
                TODO("Not yet implemented")
            }

            override fun onSubscribe(d: Disposable?) {
                TODO("Not yet implemented")
            }

            override fun onNext(t: Int?) {
                TODO("Not yet implemented")
            }

            override fun onError(e: Throwable?) {
                TODO("Not yet implemented")
            }

        }

2) lambda 表达式

一般用于实现的对象实例是一个函数接口(Java中只有一个抽象方法的接口)

        button.setOnClickListener {
            val intent = Intent(this, TheActivity::class.java)
            intent.putExtra("name", "Yang")
            startActivity(intent)
        }

你可能感兴趣的:(匿名内部类)