在这种情况下,对象意味着什么?为什么它被定义为这样?

时间:2014-06-24 19:30:55

标签: java object linked-list

目前,我正在学习如何用Java编程,而且我目前正在尝试实现一个基本的链接列表,以进一步了解该语言与我在学校学到的C ++有何不同。现在,我试图理解为什么这个词"对象"这里是用的,它意味着什么。

private class ListNode {
    private Object data;
    private ListNode next;
}

我知道接下来是我声明的ListNode类型,但是我不确定Object类型是什么。它是在Java库中找到的,还是默认类型?我一直在研究这个,我发现的所有内容都是关于原始数据类型的页面等。

1 个答案:

答案 0 :(得分:0)

来自Java API documentation on Object

  

Class Object是类层次结构的根。每个班级都有   对象作为超类。所有对象,包括数组,都实现了   这类方法。

所有对象都隐式地从Object继承。所以你的ListNode类相当于:

private class ListNode extends Object {
    private Object data;
    private ListNode next;
}

像toString()这样的方法是从Object父类继承的。

在您的特定情况下,您使用的是Object类型,因为您不知道列表将包含哪种数据,并且因为所有类都是“全包”类型的对象。有一种更好的方法可以在Java中处理这种情况,称为generics,但你可能还没有达到这一点。要记住未来的事情。