所以我有一个节点类,我还没有学习链接列表,所以我不能使用它。要构造一个节点对象,我希望参数是这样的:
Node(int numberOfNode, type complex or simpel)
我有两个称为节点的子类,Simpelnode
因此complexNode
节点对象可以是其中之一。我需要做什么才能使参数同时具有两种类型?
所以我有一个节点类,我还没有学习链接列表,所以我不能使用它。要构造一个节点对象,我希望参数是这样的:
Node(int numberOfNode, type complex or simpel)
我有两个称为节点的子类,Simpelnode
因此complexNode
节点对象可以是其中之一。我需要做什么才能使参数同时具有两种类型?
使用继承
public interface Node{
//...
}
public class SimpleNode implements Node{
//...
}
public class ComplexNode implements Node{
//...
}
然后,您可以添加Constructor
这样的内容:
public class SimpleNode implements Node{
public SimpleNode(int numberOfNode){
//...
}
}
Node(int numberOfNode, Node node)
因为SimpleNode
和ComplexNode
都是 的子类Node
,所以 aSimpleNode
是 a Node
,并且 aComplexNode
是 a Node
。所以使用Node
作为参数类型将允许传递 aSimpleNode
和 a ComplexNode
。
您需要创建Simpelnode
并使complexNode
它们从 Node.js 扩展。
这样你就可以做到:
Node n = new Simpelnode();
或者
Node n = new complexNode();
你也应该阅读java继承并理解它的含义
据我了解你的问题..
使用构造函数创建 Node 接口
Node(int numberOfNode,Object o)
或者Node(int numberOfNode,Node o)
让两个类实现它 SimpleNode 和 ComplexNode
如下SimpleNode(int numberOfNode,SimpleNode o)
和ComplexNode(int numberOfNode,ComplexNode o)