[英]A subclass type as parameter type in superclass constructor java
所以我有一個節點類,我還沒有學習鏈接列表,所以我不能使用它。 要構造節點對象,我希望參數如下:
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
子類,因此SimpleNode
是 Node
, ComplexNode
是 Node
。 因此,使用Node
作為參數類型將允許傳遞SimpleNode
和ComplexNode
。
你需要創建Simpelnode
和complexNode
並使它們從Node擴展。
你可以這樣做:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.