我需要帮助理解这些说明。 - 接口,多态性----

时间:2015-03-14 19:44:58

标签: java data-structures linked-list

我将创建一个LogNode类,其中包含一个日志条目和一个指向下一个LogNode的链接。我是一个适用于所有日志条目类的日志条目。(我将有3个logEntry类)要在LogNode中保存这些不同类型的日志条目,我们将为日志条目创建一个接口。此接口称为Loggable,每种类型的日志条目都将实现此接口。

因此 LogNode将包含一个Loggable类型的字段来保存日志条目(我不完全理解为粗体)和一个LogNode类型的字段链接到日志中的下一个节点。

据我所知,我的LogNode类将有一个LogNode类型的字段链接到下一个Node。是,

LogNode nextLink; < -----我明白了

我不明白的是我需要一个Loggable类型的字段来保存日志条目?

所以如果这是我的LogNode类:

公共类LogNode {

LogNode nextLink;

Loggable logEntry; < - 如果这就是说它是如何工作的?

........}我认为我错了,但我的日志条目将是字符串,所以Loggable类型的字段如何保存字符串。所以这也意味着我将在Loggable界面中有一个String变量。我可能错了,因为我不完全理解这一点。我非常感谢您的意见。感谢

2 个答案:

答案 0 :(得分:1)

嗯:)你做的是一个链表。

所以基本上链接列表的工作原理如下:

[] - > [] - > [] - > ...

但是当它变得有趣时,就是当你在[]中放入一些内容时,这就是你所做的:

[logEntry] - > [logEntry] - > [logEntry] - > ......

你可以在[]中基本上放置你想要的东西,把信息放在链表的每个节点里面。并且您选择将Loggable对象放入其中:)

你也谈论String。它也适用于String。

[String] - > [String] - > [String] - > ......

但是,如果你需要Java中的String链表,我建议:

LinkedList<String> thisObject = new LinkedList<String>();

答案 1 :(得分:0)

如果您的日志条目应包含String,则应该以此方式创建Loggable接口。

public interface Loggable {
    public String logEntry();
}

现在您可以按照提到的方式创建链接列表。您的方法和理解在该部分是正确的。

public class LogNode {

    /**
     * Log entry provider object. (implements Loggable).
     */
    private Loggable loggable;

    /**
     * Link for next node.
     */
    private LogNode next;

    // Constructors, getters etc...
}

希望这有帮助。