请问uni-app UTS遇到抽象类如何实例化呢

请问uni-app UTS遇到抽象类如何实例化呢

错误信息

UTS需要实例化new OnRequest

报错:error: Cannot create an instance of an abstract class‌

KT原生接口代码

package uts.sdk.modules.fzGet  

interface OnRequest {  
    fun onCall(Request: Array<String>, isResult: Boolean)  
}

UTS代码

abstract class Request implements OnRequest {  
    onCall(Request: Array<String>, isResult: Boolean) {  
        if (isResult) {  
            console.log(isResult)  
        } else {  
            console.log(Request)  
        }  
    }  
}

更多关于请问uni-app UTS遇到抽象类如何实例化呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

抽象类不支持实例化

更多关于请问uni-app UTS遇到抽象类如何实例化呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html


那请问UTS混编遇到需要用到这种类型的接口怎么解决呢?

回复 赢无翳: 不用abstract抽象类,完整的实现该接口,kotlin里边本身就不支持实例化抽象类的

在UTS中无法直接实例化抽象类,这是正确的行为。针对你的代码,建议改为以下实现方式:

  1. 首先确保OnRequest接口在UTS中正确声明:
interface OnRequest {
    fun onCall(Request: Array<string>, isResult: boolean): void
}
  1. 创建具体实现类而非抽象类:
class RequestImpl implements OnRequest {
    onCall(Request: Array<string>, isResult: boolean): void {
        if (isResult) {
            console.log(isResult)
        } else {
            console.log(Request)
        }
    }
}
  1. 使用时直接实例化具体类:
const request = new RequestImpl()
回到顶部