KOTLIN如何扩展现有类的超类

时间:2019-10-10 09:21:46

标签: kotlin

我有一个帮助器类来获取网络更新。当我尝试创建辅助构造函数时,它将引发错误。

基于kotlin的文档,我需要扩展超类。但是我遇到了同样的错误。

根据文档,ConnectivityManager没有构造函数。

我收到此错误:

  

Supertype initialization is impossible without primary constructor

我的助手班:

class InternetConnectivityHelper : ConnectivityManager.NetworkCallback() {

    constructor(context: Context, internetStatusChangedListener: InternetStatusChangedListener): super(){

    }
}

我还根据stackoverflow答案之一尝试了以下方法:

class InternetConnectivityHelper : ConnectivityManager.NetworkCallback() {

    constructor(context: Context, internetStatusChangedListener: InternetStatusChangedListener): this(){

    }
}

1 个答案:

答案 0 :(得分:2)

尝试这样

添加类别名称为parentheses primary constructor

class InternetConnectivityHelper() : ConnectivityManager.NetworkCallback() {

    constructor(context: Context, internetStatusChangedListener: InternetStatusChangedListener): this(){

    }
}

OR

从类名称中删除 parentheses 来定义secondary constructor,而无需定义primary constructor

class InternetConnectivityHelper : ConnectivityManager.NetworkCallback {

    constructor(context: Context, internetStatusChangedListener: InternetStatusChangedListener): super(){

    }
}