所以我有一個節點類,我還沒有學習鏈表,所以我不能使用它。爲了構建一個節點對象我想要的參數是這樣的:作爲超類構造函數中的參數類型的子類型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中沒有多重繼承。 (它可能會以某種方式進行模擬。)無論如何,爲什麼他需要多重繼承來解決這個問題? –