关于继承:如何在java中的ArrayList中使用继承?

how to use inheritence in ArrayList in java?

本问题已经有最佳答案,请猛点这里访问。

我有一个类叫QGNode,它扩展GNode,还有一个类QGraph,它扩展Graph。在QGNode构造函数中,当我使用参数ArrayList调用super构造函数时,会发生错误。我误解了遗产吗?

这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 public class QuestionGraph extends Graph{    
1
2   public QuestionGraph(ArrayList<QGNode> nodes) {
3      super(nodes);  
4  }
5 }

1 public class Graph {
2
3 ArrayList<GNode> nodes;
4
5  public Graph(ArrayList<GNode> nodes) {
6      this.nodes = nodes;
7 }
8 }

错误发生在第3行,这是一个语法错误,IDE建议:create method (java.Util.Arraylist) in QuestionGraph


泛型中的继承工作有点不同。在Java EDCOX1中,0Ω不是EDCOX1×1的子类型。

Java中的泛型与继承

Inheritance and generics from Oracle documentation

How it works from Oracle documentation