在自定义一些控件的时候,我经常会直接写入需要的参数,比如:
class MaskedCardView( context: Context, attributeSet: AttributeSet? = null, defStyle: Int = com.google.android.material.R.attr.materialCardViewStyle ) : MaterialCardView(context, attributeSet, defStyle)
上面这一段看着是没有问题,但是转成java的话,默认参数起不到作用
class MaskedCardView @JvmOverloads constructor( context: Context, attributeSet: AttributeSet? = null, defStyle: Int = com.google.android.material.R.attr.materialCardViewStyle ) : MaterialCardView(context, attributeSet, defStyle)
这样写,就可以覆盖三个构造函数了。
标签:MaskedCardView,JvmOverloads,Kotlin,attributeSet,defStyle,context,注解,AttributeSet From: https://www.cnblogs.com/uudon/p/17468731.html