2016-01-13 2 views
0

просто быстрый вопрос. У меня есть файл 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

Я пробовал это раньше, но если я пишу только «public class SelectionSortableList extends SinglyLinkedList», я получаю «SinglyLinkedList не может быть разрешен к типу» – Maxim

+0

Вышеприведенный код выглядит как написанный вручную код. У него много проблем с компиляцией , Пожалуйста, исправьте их. – YoungHobbit

Смежные вопросы