所以我有一个节点类,我还没有学习链表,所以我不能使用它。为了构建一个节点对象我想要的参数是这样的:作为超类构造函数中的参数类型的子类型java
Node(int numberOfNode, type complex or simpel)
我有节点的两个子类称为Simpelnode
和complexNode
等节点对象可以是其中一方。我需要做什么以使参数可以是两种类型?
所以我有一个节点类,我还没有学习链表,所以我不能使用它。为了构建一个节点对象我想要的参数是这样的:作为超类构造函数中的参数类型的子类型java
Node(int numberOfNode, type complex or simpel)
我有节点的两个子类称为Simpelnode
和complexNode
等节点对象可以是其中一方。我需要做什么以使参数可以是两种类型?
Node(int numberOfNode, Node node)
由于SimpleNode
和ComplexNode
是Node
两个子类,一个SimpleNode
是Node
和ComplexNode
是Node
。因此使用Node
作为参数类型将允许传递一个SimpleNode
以及一个ComplexNode
。
非常感谢大家,我仍然在学习界面,所以我要试试这个,我更熟悉这个^ __ ^。 – user2720690
使用继承
public interface Node{
//...
}
public class SimpleNode implements Node{
//...
}
public class ComplexNode implements Node{
//...
}
然后,您可以添加Constructor
这样的:
public class SimpleNode implements Node{
public SimpleNode(int numberOfNode){
//...
}
}
这是如何回答这个问题的。他已经使用继承,并询问Node构造函数的第二个参数应该是什么类型。 –
你不能从构造函数中获取类型,你应该使用继承来完成它。 – 2013-08-27 08:10:42
您需要创建Simpelnode
和complexNode
,使他们从节点延伸。
这样你可以这样做:
Node n = new Simpelnode();
或
Node n = new complexNode();
也应该阅读java inheritance并明白它的意思
据我理解你的问题..
使用构造函数创建节点接口
Node(int numberOfNode,Object o)
或Node(int numberOfNode,Node o)
让两个类实现它SimpleNode的和ComplexNode
如下SimpleNode(int numberOfNode,SimpleNode o)
和ComplexNode(int numberOfNode,ComplexNode o)
看起来你需要多重继承! –
据我所知,Java中没有多重继承。 (它可能会以某种方式进行模拟。)无论如何,为什么他需要多重继承来解决这个问题? –