只是一个简单的问题。我有一个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();
}
他无法实例化它。可以请有人告诉我为什么他不想实例化它?先谢谢你。
答案 0 :(得分: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.
}
}