我在教科书“Java by Dissection”中看到了这段代码,但不明白它到底做了什么。教科书几乎没有解释任何关于这段代码的内容,除了说它实现了一个嵌套类。但我想了解它的实际作用。
我想了解这段代码的原因是因为我试图创建一个 main 来声明/实例化 MyList 类的值为 1-10 的对象。然后在顶部添加一些数字并从我想要的任何地方删除一些。谁能帮我解决这个问题?
我不明白的主要部分是嵌套类 - ListedElement。
public class MyList {
private ListElement head, tail; //Forward declaration
void add(Object value) {
if (tail != null) {
tail.next = new ListElement(value);
tail = tail.next;
}
else {
head = tail = new ListElement(value);
}
}
Object remove()
{
assert head != null; // don't remove on empty list
Object result = head.value;
head = head.next;
if (head == null) { //was that the last?
tail = null;
}
return result;
}
//Nested class needed only in the implementation of MyList
private class ListElement {
ListElement(Object value) {this.value = value;}
Object value;
ListElement next; //defaults to null as desired
}
}