Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何重写超级构造函数_Java_Templates - Fatal编程技术网

Java 如何重写超级构造函数

Java 如何重写超级构造函数,java,templates,Java,Templates,我扩展了一个具有模板参数TService的超类: public abstract class SupplySideServer<TService extends SupplySideService, TRequest extends Request, TResponse extends Response> { protected TService service; public SupplySideServer(TService service) { this.servi

我扩展了一个具有模板参数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抽象类SupplySideServer{
受保护的电信服务;
公共供应商(TService服务){
服务=服务;
}
我有一个子类:

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);
}

公共类SupplySeDeserVerimpl{

//public SupplySideServerImpl(Class看起来您的子类SupplySideServerImpl没有扩展父类SupplySideServer。因此,编译器认为您的子类SupplySideServerImpl仅隐式扩展对象(正如我们所知,Java中的每个类都扩展了对象类)。由于对象的默认构造函数是无参数构造函数,您对超类构造函数的调用应该没有参数。我认为您的代码中的以下更改应该有效。如果我错了,请纠正我

public class SupplySideServerImpl<TService extends SupplySideService, TRequest extends Request, TResponse extends Response> extends SupplySideServer<TService extends SupplySideService, TRequest extends Request, TResponse extends Response>{

        public SupplySideServerImpl(TService service) {
        super(service);
    }
}

公共类SupplySeDeserVerimpl扩展了SupplySeDeserver{
公共服务(TService服务){
超级(服务);
}
}

似乎您忘记了类声明中的
扩展SupplySideServer
。您不能重写构造函数,只能调用它公共类SupplySideServerImpl extends SupplySideServer{这是错误:-SupplySideServer是原始类型。对泛型类型SupplySideServer的引用应该参数化。但对我来说似乎不是错误。它不允许:-令牌“SupplySideServer”上的语法错误,{应在该令牌之后-语法错误,插入“}”为了完成block,我没有将其用于输入错误,上面的错误在之后是相同的。您是否可以更新您的代码(完整的可能会有帮助),并包括您得到的整个错误行。我仅在实现类中通过扩展类型参数来编译它。