Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java类字段定义_Java_Oop - Fatal编程技术网

Java类字段定义

Java类字段定义,java,oop,Java,Oop,我遇到了以下代码行,它们是节点类实现的一部分: public class Node { private String data; private Node next; 我想知道下一步如何使用私有节点作为节点的字段?为什么这种“自我辩护”是合法的,它是如何运作的? 如果有人能解释这一点,我将不胜感激。Node next将只保留对Node类的不同实例的引用,这意味着Node类具有-a节点 我猜想该类属于一个简单的“链表”实现,其中每个节点都保留对列表中下一个节点的引用。node

我遇到了以下代码行,它们是节点类实现的一部分:

public class Node {

    private String data;
    private Node next;
我想知道下一步如何使用
私有节点作为节点的字段?为什么这种“自我辩护”是合法的,它是如何运作的?

如果有人能解释这一点,我将不胜感激。

Node next
将只保留对
Node
类的不同实例的引用,这意味着
Node
具有-a
节点


我猜想该类属于一个简单的“链表”实现,其中每个节点都保留对列表中下一个节点的引用。

node next
将只保留对
节点
类的不同实例的引用,这意味着
节点
具有-a
节点


我猜该类属于一个简单的“链表”实现,其中每个节点都保留对列表中下一个节点的引用。

您可能在这些术语上有什么意思

  public class Node {

        private int info;
        private Node next;

        Node(int info, Node next) {
            this.info = info;
            this.next = next;
        }

当您在
链表
类结构中实际使用它时,
下一个
指向另一种(或相同)类型的
节点
对象,您可能在这些术语中有某种含义

  public class Node {

        private int info;
        private Node next;

        Node(int info, Node next) {
            this.info = info;
            this.next = next;
        }

当您在
链表
类结构中实际使用它时,
下一个
指向另一种(或相同)类型的对象,类型为
节点
不是自身实例,但它将引用内存中相同类型的对象的实例,即
节点


Att:引用的对象可以是自身。

不是自身实例,但它将引用内存中相同类型的对象的实例,即
节点


Att:引用的对象可以是自身。

它不是自引用。它是对同一类型对象的引用。正如名称所示,
next
应该引用
节点
对象。肯定会有一个公共方法,它接受Node对象并将其分配给
next
,在链表数据结构中使用该方法的一个应用程序:它不是自引用。它是对同一类型对象的引用。正如名称所示,
next
应该引用
节点
对象。肯定会有一个公共方法,它接受Node对象并将其分配给
next
这个应用程序用于链表数据结构:不需要是不同的实例。不一定,但很可能。不需要是不同的实例。不一定,但最有可能的是。这就是我所问的——为什么引用的对象可能是它自己呢?好吧,你可以把
next
变量看作是一个接收
Node
类型的内存地址的接收者。创建
节点时,它可以在
下一个
变量(接收者)上存储
节点
类型变量的内存地址。这很清楚?或者,你可以把一个节点看作一座房子。每户人家都有地址,每户人家里面都有一张写着其他人家地址的纸。在我家里,我可以在这张纸上放上我自己家的引用。这就是我要问的——引用的对象怎么可能是它自己?好吧,你可以把
next
变量看作一个接收者,它接收
节点
类型的内存地址。创建
节点时,它可以在
下一个
变量(接收者)上存储
节点
类型变量的内存地址。这很清楚?或者,你可以把一个节点看作一座房子。每户人家都有地址,每户人家里面都有一张写着其他人家地址的纸。在我家里,我可以把我自己家的参考资料放在这张纸上。