[英]Initialize abstract class in Kotlin
I am working on kotlin project where I need to initialize abstract class, I can achieve this easily in java but not able to do it in kotlin, what is correct way to achieve this.
例如在 java 我已经这样做了: -
abstract class BaseClass implements E {
static abstract class C implements SomeCallback {
void abc();
void def();
}
}
class V extends BaseClass {
V(D d) {
// ...
}
}
class S {
V.C c = new V.C() { // instantiate abstract class
@Override
public void abc() {
// ...
}
@Override
public void def() {
// ...
}
}
}
这是我的 Kotlin 代码:-
BaseClass I am using in java .
class V : BaseClass(){
}
class S{
fun prepareV(){
val cal = object : V.C(){
//Here I am getting error not able to call V.C in kotlin
}
}
}
This is how I have achieved this in java, but I am not able to achieve same in kotlin..its not letting me call abstract class in class S. Please guide me for correct way
Kotlin将嵌套的 class 视为绝对值。 您必须使用完全限定名称BaseClass.C
而不是使用子类V.C
的名称。
object : BaseClass.C() { ... }
要解决此问题,您可以在V
中重新声明C
。
class V : BaseClass() {
abstract class C : BaseClass.V()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.