【发布时间】:2013-09-23 17:29:07
【问题描述】:
我在教科书“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
}
}
【问题讨论】:
-
如果不了解他们所知道的/熟悉的术语/等,就很难向某人解释某事。您有具体问题吗?跨度>
-
jedwards,我知道大量的 C++ 并且刚刚开始使用 Java。我试图为这个程序实现一个 main 实例化一个 MyList 对象并将值 1-10 放入其中。然后在顶部添加了一些数字并从任何地方删除了一些数字。但我意识到我并不是很了解这门课,所以需要帮助。
-
根据您对每个人在做什么的理解,通过在每一行添加 cmets 来编辑您的帖子。
-
稍微调整了问题以显示我真正不理解的内容以及一旦我理解了我想做什么。 Mark S 给出了很好的解释。
标签: java