类
//class 类名(主构造函数){类体}
class Example{}
//如果足主构造函数没有注解或可见性说明可以省略constructor关键字
class Example public @inject constructor (name: String) {...}
//一个类可以有一个主构造函数以及多个二级构造函数
class Example constructor(name:String){
constructor(example :Example){
example.children.add(this);
}
}
//主构造函数的参数可以用在初始化块中,也可以用在类属性声明中
class Example constructor(name:String){
init {
Log.i("----", "init")
}
}
//二级构造
constructor (name: String, paret: Example) : this(name) {
parent.children.add(this)
}
初始化类
//kotlin没有new关键字
val example = Example();
内部类
标记的inner的内部类
//内部类可以引用外部类的成员
class Outer{
inner class Inner{
}
}
匿名内部类
匿名内部类使用object表达式
resultTv.setOnClickListener(
object : View.OnClickListener {
override fun onClick(v: View?) {
resultTv.setText("+++++++++++++++++++")
}
}
)