Kotlin Related
@JvmOverloads
注解
- 该自定义View,就是典型的在单参构造中调用二参构造,在二参构造中调用三参构造,并在三参构造中调用一个初始化方法的模板。
- 最显著的特征是在参数中有了赋值运算符
=
,并有@JvmOverloads
的注解
- 这是可选参数的写法,即如果不传入
attrs
,则使用default的null
赋值,defStyleAttr
同理
class ViewPagerIndicator @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr){
init{
init()
}
private fun init(){
}
}
@JvmOverloads
fun test(age: Int, name: String = "Able", job: String = "Engineer") {
}
test(100)
test(100,"Lily")
inner class T{}->非静态内部类
class T{}->静态内部类