Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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中创建class类型的变量_Java - Fatal编程技术网

在Java中创建class类型的变量

在Java中创建class类型的变量,java,Java,在代码中,类节点中有一个节点。我无法理解它到底在做什么。它正在创建一个名为next的对象。当使用nodeA.next=nodeB时,是否有值存储在其中。 我正在努力学习LinkedList,但我无法了解到底发生了什么 class Node{ int data ; Node next; Node(int data){ this.data = data ; } } Node nodeA = new Node(6); Node

在代码中,类节点中有一个
节点。我无法理解它到底在做什么。它正在创建一个名为next的对象。当使用
nodeA.next=nodeB
时,是否有值存储在其中。 我正在努力学习LinkedList,但我无法了解到底发生了什么

  class Node{
     int data ;
     Node next;
     Node(int data){
        this.data = data ;
     }
  }

  Node nodeA = new Node(6);
  Node nodeB = new Node(3);
  Node nodeC = new Node(2);


 nodeA.next = nodeB;
 nodeB.next = nodeC;

让我们将代码拆分并解释部分:

class Node {
}
这是创建新类的语法。该类被命名为“节点”

这定义了一个实例变量。Node类型的每个实例都应该有一个名为int类型数据的变量

Node next;
这定义了另一个实例变量。它被称为next,并保存对节点的引用

 Node(int data){
    this.data = data ;
 }
这就是所谓的构造函数。它接受一个参数数据,然后存储在实例变量数据中。(实例变量被“this.”引用,因为参数数据隐藏了同名的实例变量。)

这就是课堂本身。现在我们来看一下它的用法(这在类/函数之外没有意义。此类代码应该是函数的一部分,例如在主函数内部):

这将创建类node的3个实例,并将其存储在nodeA、nodeB和nodeC变量中

nodeA.next = nodeB;
nodeB.next = nodeC;
在这里,我们设置nodeA和nodeB的下一个实例变量,并分配nodeB和nodeC

这给了我们一个所谓的链表。列表中的一个元素可以指向另一个元素(或者当列表中没有元素引用时,默认为null)


这有助于理解代码吗?如果没有:您在理解代码时到底遇到了什么问题?

我现在就知道了。我对引用和对象感到困惑。
Node nodeA = new Node(6);
Node nodeB = new Node(3);
Node nodeC = new Node(2);
nodeA.next = nodeB;
nodeB.next = nodeC;