java - 与继承 Java 不兼容的类型

标签 java inheritance

<分区>

我正在努力解决我遇到的这个继承问题。这是我目前的情况:

enter image description here

所以我有一个计划,可以是 Activity 列表(类 Activities )或要做的事情列表(类 Todos )。
但是,如果我在 Todos 中这样做:

private List<Todo> todos;

public List<Activity> getPlanning(){
    return todos;
}

它说类型不兼容。

  • 为什么它们不相容?

TodoActivity 延伸,我们不确定 Todo至少提供与 Activity 相同的功能?

或许更重要的是:

  • 如何调整我的设计以使事情正常运行

(我不是UML专家,所以如果我的图表中有一些错误请原谅我)

最佳答案

欢迎来到 Java 中泛型的噩梦和糟糕的实现。尝试使用 public List<? extends Activity> getPlanning() .

关于java - 与继承 Java 不兼容的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18077324/

相关文章:

Java Jersey 2.6 : ContainerRequestFilter: Not Inside a request scope

java - 如何为 map reducer 作业在 java 中为 hadoop 输入自定义选择列读取

java - 很少使用抽象方法的抽象类 - 我应该具体化吗?

Django 模板 - 显示 {% block %} 标记之前的 if 语句无法正常工作?

C++父类调用子虚函数

java - 在组合框中选择升序时如何对元素列表进行排序

java - 多对多额外列 Spring JPA

java - 在 NetBeans 中显示继承的方法

java - 在作为父类添加到数组后调用特定于子的方法

c++ - 将 'typedef' 从基类传播到 'template' 的派生类