繁体   English   中英

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

[英]Java child class not able to implement parent class's abstract method

我有以下几点。 如果保留@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
    {
        ...
    }
}

尝试并:

public abstract class BaseClass<T extends BaseClass.Inputs>

和:

public class ChildClass extends BaseClass<ChildClass.Inputs>

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

public abstract T doStuff(T inputs);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM