我有一个我正在扩展的基类,但想要扩展普通Java
构造函数所在的视图。
class TextView(context: Context?) : ViewAbstractClass(context)
我不确定如何在Kotlin
中执行此操作。有哪些结构Kotlin
允许您对对象进行复杂的初始化?
答案 0 :(得分:2)
有几种方法可以做到,但这是我在我的应用中所做的。
Error: Invalid interval unit in function DATE_ADD: MONTHS, expected YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE or SECOND.
请注意,您实际上并未在类签名中使用class TextView : ViewAbstractClass {
constructor(context: Context) : super(context)
constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet)
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) {
// custom init code for this constructor.
}
constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes)
init {
// Common init code
}
}
,而是明确地提供所有构造函数。
您可以在此处了解有关辅助构造函数的更多信息: https://kotlinlang.org/docs/reference/classes.html
答案 1 :(得分:2)
https://kotlinlang.org/docs/reference/classes.html#constructors
class Customer(name: String) {
init {
logger.info("Customer initialized with value ${name}")
}
}