2016-01-13 41 views
0

只是一個簡單的問題。我有一個jar文件,我想將它集成到我的項目中。 jar文件的反編譯的版本是這樣的:與瓶子集成

public abstract class SinglyLinkedList 

protected SinglyLinkedList.Item head; 

public void addFront(String s) { 
if (head == null) { 
    head = new SinglyLinkedList.Item(s); 
} 
else { 
    SinglyLinkedList.Item insert = new SinglyLinkedList.Item(s); 
    next = head; 
    head = insert; 
} 
} 

public void add(String[] array) { String[] arrayOfString; 
int j = (arrayOfString = array).length; for (int i = 0; i < j; i++) 
{ String s = arrayOfString[i]; 
addFront(s); 
} 
} 

public String toString() 
{ 
if (head == null) { 
    return "empty list"; 
} 
String s = ""; 

for (SinglyLinkedList.Item helper = head; next != null; helper = next) { 
    s = String.valueOf(s) + value + ", "; 
    s = String.valueOf(s) + value; 
    return s; 
} 

public abstract void sort(); 

protected class Item 
{ 
    public Item next; 
    public String value; 
    public Item(String value) { 
     this.value = value; 
    } 
} 
} 

現在我想建立在我的其他類的新鏈表,但是這並不工作:

private SinglyLinkedList linkedlist; 

public SelectionSortableList(){ 
    this.linkedlist = new SinglyLinkedList(); 
} 

他不能實例化。可以請有人告訴我他爲什麼不想實例化它?預先感謝您。

回答

2
public abstract class SinglyLinkedList 

因爲這是一個abstract類。 abstract類不能被實例化。

你需要extend,並實現以下abstract方法:

public abstract void sort(); 

一旦你擴展類的所有非私有方法是直接訪問到你的超類。

你的類應該是這樣的:

class SelectionSortableList extends SinglyLinkedList { 
    @Override 
    public void sort() { 
    // provide you implementation here. 
    } 
} 
+0

我試圖延長之前,但我只得到「SinglyLinkedList不能被解析爲一個類型」。我知道,我不能實例化抽象類,但是如何將它集成到其他類中,以便我可以使用它?有沒有不同的方法來創建鏈表? – Maxim

+0

我以前試過,但如果我只寫「公共類SelectionSortableList擴展SinglyLinkedList」我得到「SinglyLinkedList無法解析爲類型」 – Maxim

+0

上面的代碼看起來像手寫代碼,它有很多編譯問題。請修復它們。 – YoungHobbit