我有一个这样的类定义。
public abstract class OptionList<X extends OptionList<X, T>, T extends OptionListItem<X, T>>
extends CommonEntity<OptionList<X, T>>
另一个类SecuredBean:
public abstract class SecuredBean<T extends CommonEntity<T>>
现在还有一个类,我需要扩展SecureBean并将OptionList作为入站参数传递,如:
public class OptionListBean extends SecuredBean<OptionList<X extends OptionList<X, T>, T extends OptionListItem<X, T>>> {
这里给出错误,说明令牌上的语法错误延伸,预期。
我在这里做错了什么。
感谢。
答案 0 :(得分:2)
您的OptionListBean
不是通用类,但在定义中使用X
和T
。这是错误的。由于SecuredBean
未将精确类作为模板参数,因此需要使OptionListBean
成为通用类。
此代码为我编译:
class OptionListItem<X, T>{}
class CommonEntity<T>{}
abstract class OptionList<X extends OptionList<X, T>, T extends OptionListItem<X, T>> extends CommonEntity<OptionList<X, T>> {}
abstract class SecuredBean<T extends CommonEntity<T>>{}
class OptionListBean<X extends OptionList<X, T>, T extends OptionListItem<X, T>> extends SecuredBean<OptionList<X, T>> {}
我不知道这些课程的目的,因此不能说我的建议对你的案例有用。