请问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 回复
那请问UTS混编遇到需要用到这种类型的接口怎么解决呢?
回复 赢无翳: 不用abstract抽象类,完整的实现该接口,kotlin里边本身就不支持实例化抽象类的
在UTS中无法直接实例化抽象类,这是正确的行为。针对你的代码,建议改为以下实现方式:
- 首先确保OnRequest接口在UTS中正确声明:
interface OnRequest {
fun onCall(Request: Array<string>, isResult: boolean): void
}
- 创建具体实现类而非抽象类:
class RequestImpl implements OnRequest {
onCall(Request: Array<string>, isResult: boolean): void {
if (isResult) {
console.log(isResult)
} else {
console.log(Request)
}
}
}
- 使用时直接实例化具体类:
const request = new RequestImpl()