Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

萨特南

我正在研究链表。我一次又一次地看到在那个类的主体中声明类的数据类型的代码。这是《破解编码访谈》(创建链接列表)一书中的示例

class Node {
    Node next = null;
    int data;
    public Node(int d) { data = d; }
    void appendToTail(int d) {
        Node end = new Node(d);
        Node n = this;
        while (n.next != null) { n = n.next; }
        n.next = end;
    }
}

在第二行中-如您所见,“ next”是Node类型的实例变量,是其自己的类。

我的问题是,如果我创建Node类的实例(例如X)-

Node X = new Node(10);

这些书说编译器将自动为其实例变量(数据和下一个)保留空间,即使它们没有启动。(int data = 10)显然是在构造函数中处理的,但是接下来会发生什么呢?在我看来,X里面将有无数个“下一个”节点,因为X里面将有一个名为next的节点。然后,由于每个节点都应该有一个数据和下一个部分,因此next将拥有自己的数据副本,next将在其内部,依此类推,依此类推……导致类似这样的事情……

在此处输入图片说明

思想观念

“下一个”节点只是对Node对象引用保留空间以供对该节点的引用的事实并不意味着将创建一个带有子节点的全新节点,而仅意味着原始节点具有足够的“空间”来存储对另一个节点引用由于“ next”最初具有对null的引用,因此在初始化Node并将其引用存储在“ next”中之前,“ n那里没有”。

基本上,对节点引用与节点不同。

有关更多信息请参见Oracle有关类型,值和变量的文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在Java中创建自己的原始数据类型。像int,float,double

来自分类Dev

我们可以在Java的String数据类型中存储多少个字符?

来自分类Dev

如何使用我们的Java代码中的WSDL文件中找到的用户定义数据类型?

来自分类Dev

我们什么时候应该创建自己的Java异常类?

来自分类Dev

在Java中将我自己的数据类型添加到ArrayList

来自分类Dev

当我在Java中创建对象时,jvm中到底会发生什么?

来自分类Dev

Java中的多数据类型数组

来自分类Dev

当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

来自分类Dev

使用Java中的main方法为类创建对象时会发生什么

来自分类Dev

当我们说Java中Byte的宽度是8位时,这意味着什么?

来自分类Dev

在Java中返回自定义数据类型(类?)

来自分类Dev

为什么我们不能在Map Reduce中使用Java基本数据类型?

来自分类Dev

为什么我们需要Java中的Properties类?

来自分类Dev

当我们在Android Studio中添加DEPENDENCY时会发生什么

来自分类Dev

在Java中Itree数据类型

来自分类Dev

我们自己的数据类型的最大值

来自分类Dev

我们可以从Java中的字符串声明数据类型吗

来自分类Dev

我对Java的数据类型感到困惑。

来自分类Dev

Java中的C数据类型

来自分类Dev

当我们在Linux中为进程及其线程设置不同的处理器相似性时会发生什么?

来自分类Dev

当我们在html标记中包含错误的属性时会发生什么?

来自分类Dev

当我们在同一类中创建类的实例时会发生什么?

来自分类Dev

区分Java中的不同数据类型

来自分类Dev

Java中的数据类型及其表示

来自分类Dev

Java数据类型

来自分类Dev

Cassandra:为数据类型获取等效的Java类

来自分类Dev

在mysql中设置为Java的等效数据类型

来自分类Dev

我们可以在 java 中创建哪些不同类型的文件(文件类型)?

来自分类Dev

在JAVA中创建灵活数据类型的变量

Related 相关文章

  1. 1

    是否可以在Java中创建自己的原始数据类型。像int,float,double

  2. 2

    我们可以在Java的String数据类型中存储多少个字符?

  3. 3

    如何使用我们的Java代码中的WSDL文件中找到的用户定义数据类型?

  4. 4

    我们什么时候应该创建自己的Java异常类?

  5. 5

    在Java中将我自己的数据类型添加到ArrayList

  6. 6

    当我在Java中创建对象时,jvm中到底会发生什么?

  7. 7

    Java中的多数据类型数组

  8. 8

    当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

  9. 9

    使用Java中的main方法为类创建对象时会发生什么

  10. 10

    当我们说Java中Byte的宽度是8位时,这意味着什么?

  11. 11

    在Java中返回自定义数据类型(类?)

  12. 12

    为什么我们不能在Map Reduce中使用Java基本数据类型?

  13. 13

    为什么我们需要Java中的Properties类?

  14. 14

    当我们在Android Studio中添加DEPENDENCY时会发生什么

  15. 15

    在Java中Itree数据类型

  16. 16

    我们自己的数据类型的最大值

  17. 17

    我们可以从Java中的字符串声明数据类型吗

  18. 18

    我对Java的数据类型感到困惑。

  19. 19

    Java中的C数据类型

  20. 20

    当我们在Linux中为进程及其线程设置不同的处理器相似性时会发生什么?

  21. 21

    当我们在html标记中包含错误的属性时会发生什么?

  22. 22

    当我们在同一类中创建类的实例时会发生什么?

  23. 23

    区分Java中的不同数据类型

  24. 24

    Java中的数据类型及其表示

  25. 25

    Java数据类型

  26. 26

    Cassandra:为数据类型获取等效的Java类

  27. 27

    在mysql中设置为Java的等效数据类型

  28. 28

    我们可以在 java 中创建哪些不同类型的文件(文件类型)?

  29. 29

    在JAVA中创建灵活数据类型的变量

热门标签

归档