Kotlin初始化一个对象

时间:2016-03-01 19:28:36

标签: java android jvm kotlin

我有一个我正在扩展的基类,但想要扩展普通Java构造函数所在的视图。

class TextView(context: Context?) : ViewAbstractClass(context) 

我不确定如何在Kotlin中执行此操作。有哪些结构Kotlin允许您对对象进行复杂的初始化?

2 个答案:

答案 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}")
    }
}