Java子类无法实现父类的抽象方法

用户名

我有以下几点。如果保留@Override,则会收到错误消息,指出该方法必须实现或重写超类型方法。如果删除它,则会收到一个错误,指出子类必须实现继承的抽象方法。为什么下面的代码不起作用,如何使其达到预期目的?

BaseClass.java:

public abstract class BaseClass
{
    ...
    protected abstract <T extends Inputs> T doStuff(T inputs);

    public abstract static class Inputs
    {
        ...
    }
}

ChildClass.java:

public class ChildClass extends BaseClass
{
    ...
    @Override
    protected Inputs doStuff(Inputs inputs)
    {
        return inputs;
    }

    public static class Inputs extends BaseClass.Inputs
    {
        ...
    }
}
ge

尝试并:

public abstract class BaseClass<T extends BaseClass.Inputs>

和:

public class ChildClass extends BaseClass<ChildClass.Inputs>

这意味着您需要进行更改doStuff(),以使其返回T(在中BaseClass),而无需声明类型变量:

public abstract T doStuff(T inputs);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法编译实现基类抽象方法的子类

如何使用__init_subclass__而不是ABCMeta来实现子类以实现父类的抽象方法?

在Java的子类中实现抽象方法

PHP子类无法实现相同的接口父类实现

无法通过子类访问父类方法

如何从子类方法实现父类方法

如何从抽象父Java 8访问子类的公共方法

无法访问Java子类方法中抽象类对象的属性

在Java中实现抽象方法/类

如何实现抽象类的方法?(Java)

子类可以在Java中保留未实现的抽象方法吗?

从抽象类测试子类的抽象方法

在父类方法实现的代码之间插入来自子类方法实现的代码

使Java父类方法返回子类对象的方法

受保护的抽象方法在父类的子类包装实例中不可见

从java / kotlin中的父抽象类数组调用子类函数

Java:使用父类方法访问子类变量

Java:在子类中使用父类的静态方法

在子类对象java上调用父类的方法

从Java中父类的静态方法获取子类

如何强制子类调用抽象的实现方法

定义抽象方法,但需要子类实现

如何强制我的类的任何子类始终调用它们所覆盖的父类的实现方法?

在C#中为抽象类的子类型实现重载方法

Ruby子类不继承父方法或无法在类主体中调用父方法

抽象类的抽象方法的部分实现

子类在调用继承的方法(Java)时会使用父类还是子类方法

具有静态工厂的抽象父类的子类的类型

如何从Ruby中的抽象父类确定子类名称