检查下面的代码
public abstract class ClassA<ClassBType extends ClassB<ClassCType>,ClassCType extends ClassC> {
public void method(ClassBType type) {
type.myClassA = this; //Error. Type mismatch: cannot convert from TestGameMain.ClassA<ClassBType,ClassCType> to TestGameMain.ClassA<TestGameMain.ClassB<ClassCType>,ClassCType>
}
}
public abstract class ClassB<ClassCType extends ClassC> {
ClassA<ClassB<ClassCType>,ClassCType> myClassA;
private void testMethod() {
myClassA.method(this);
}
}
public abstract class ClassC {}
}
Run Code Online (Sandbox Code Playgroud)
解决这个问题的正确方法是什么?
编辑:我已经更新了上面的代码,但是没有编译.
除非我在你的问题中真的遗漏了什么,否则这就完成了工作:
ClassA<ClassB<ClassCType>, ClassCType> myClassA;
Run Code Online (Sandbox Code Playgroud)
我必须更多地了解如何实例化这些动物,以了解获取ClassA的实例是否具有这些参数是一个需要解决的问题.
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |