java - 如何在java中的ArrayList中使用继承?

标签 java inheritance

<分区>

我有一个名为 QGNode 的类(class)延伸 GNode和一类 QGraph延伸 Graph .在 QGNode当我调用 super 时的构造函数带参数的构造函数 ArrayList<QGNode>发生错误。我对继承有误解吗?

这是我的代码:

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 中 ArrayList<QGNode>不是 ArrayList<GNode> 的子类型.

Generics in Java and Inheritance

Inheritance and generics from Oracle documentation

How it works from Oracle documentation

关于java - 如何在java中的ArrayList中使用继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30951383/

相关文章:

c# - 如何从另一个类访问具有 protected 构造函数的类

c++ - 我如何转换模板类

C++:访问仅存在于一个派生类中的变量

java - 对对象列表进行排序

java - Hadoop 集群设置 - java.net.ConnectException : Connection refused

java - 如何将 Java 资源作为文件获取?

java - 使用 CoreNLP 进行法语依存解析

html - 如何清除子元素的所有样式?

Java 控制台重新启动

python-3.x - Python子类方法从父类(super class)方法继承装饰器