【发布时间】:2015-02-03 22:36:23
【问题描述】:
我扩展了一个具有模板参数 TService 的超类:
public abstract class SupplySideServer<TService extends SupplySideService, TRequest extends Request, TResponse extends Response> {
protected TService service;
public SupplySideServer(TService service) {
this.service = service;
}
我有一个子类:
public class SupplySideServerImpl<TService extends SupplySideService, TRequest extends Request, TResponse extends Response> {
//public SupplySideServerImpl(Class<? extends SupplySideService<T>> service) {
public SupplySideServerImpl(TService service) {
super(service);
}
但它不会编译,我如何将服务传递给子类?我是否必须像超类/抽象类一样使用子类中的模板参数?
【问题讨论】:
-
好像你在类声明中忘记了
extends SupplySideServer。 -
你不能重写构造函数,你只能调用它
-
公共类 SupplySideServerImpl
extends SupplySideServer { -
这是错误: - SupplySideServer 是原始类型。对泛型 SupplySideServer
的引用应该被参数化 -
对我来说似乎不是一个错误。