Java方法覆盖参数"Class <?extends Object>"

Ter*_*hih 4 java

当我尝试覆盖一个方法时,我遇到了java的问题,我的代码如下:

public abstract class CustomAdapter{
    public abstract Boolean addItem(Class<? extends Object> aObject);
}

public class RainAdapter extends CustomAdapter {
    @Override
    public Boolean addItem(ClassOfRain aRainInfo) {
        // do something
    return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以将"Class"声明为"ClassOfRain"吗?如果有,该怎么办?

谢谢你的阅读!

Tud*_*dor 5

我觉得你有点困惑.你确定你不是想说:

public abstract class CustomAdapter<T extends Object> {
    public abstract Boolean addItem(T aObject);
}

public class RainAdapter extends CustomAdapter<Rain> {
    @Override
    public Boolean addItem(Rain aRainInfo) {
        // do something
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我对类结构的解释中,您正在尝试创建一个泛型addItem方法,因此传递实际的类对象是没有用的.