我正在学习单链表。在我下面提供的示例的第5行,是一个调用自引用类的示例。我感觉分配给next的内存是无限的,因为当Java编译器计算Node的大小时,它会递归地遍历第5行,以确定为Node分配多少内存。我对第5行有什么误解?
你能解释一下自引用类吗?
分配给next变量的内存有多少?
为什么第5行有效?我认为无限的递归循环是无效的。

发布于 2021-05-31 14:16:48
在构造函数中分配给'next‘的是另一个对象'n’的内存地址(在本例中是另一个Node)。
对象变量只是指向内存堆中真实对象的引用( RAM中为JVM分配的一个段)。
从概念上讲,你可以把它理解为一个坐标,一个数字。我还认为'n‘可能是'null',这意味着到目前为止next不会引用任何对象。
为了帮助你理清思路,你要创建的是一个“实例”,它包含了对同一个类的另一个“实例”的引用。
https://stackoverflow.com/questions/67768113
复制相似问题