所以我有一个节点类,我还没有学习链接列表,所以我不能使用它。要构造一个节点对象,我希望参数是这样的:
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)