我有一个界面:
public interface Displayable {
public Class <Screen> classToDisplay();
}
和一些课程:
public class Screen {
}
public class ScreenSubclass extends Screen {
}
public class Cue implements Displayable {
@Override displayClass() {
return ScreenSubclass.class;
}
}
我收到IDE错误,告诉他他们是不兼容的类型。 classToDisplay()&#39;需要什么样的回报值?返回一个类或子类类型的Screen?
答案 0 :(得分:2)
刚想通了。使用 ?通配符以及&#39;扩展&#39; ...
更改&#39; displayClass&#39;的返回类型到:
public Class<? extends Screen> displayClass();