【问题标题】:Creating a variable of type class in Java [duplicate]在Java中创建类型类的变量[重复]
【发布时间】:2019-09-29 04:23:37
【问题描述】:

在代码中有Node next 在类节点。我无法理解它到底在做什么。它是否创建了一个名为 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;

【问题讨论】:

    标签: java


    【解决方案1】:

    让我们分解代码并解释各个部分:

    class Node {
    }
    

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

    int data;
    

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

    Node next;
    

    这定义了另一个实例变量。它被称为 next 并且它持有对 Node 的引用。

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

    这是一个所谓的构造函数。它接受一个参数数据,然后将其存储在实例变量数据中。 (实例变量用“this.”引用,因为参数数据隐藏了同名的实例变量。)

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

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

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

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

    这里,我们设置nodeA和nodeB的下一个实例变量,并赋值给nodeB和nodeC。

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

    这有助于理解代码吗?如果不是:您在理解代码方面到底有什么问题?

    【讨论】:

    • 我现在明白了。我对引用和对象感到困惑。
    猜你喜欢
    • 1970-01-01
    • 2013-03-02
    • 2021-02-04
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-08-30
    相关资源
    最近更新 更多