我正在通过Java练习进行工作,并且对最后4行代码的新值有些困惑。
public class Snake {
public Snake x = null;
public Snake y = null;
public static void main(String[] args) {
Snake a = new Snake();
Snake b = new Snake();
a.x = a;
b.x = a.x;
b.y = b.x;
a.y = b.y.x;
}
}
最佳答案
然后您知道a
和b
是两条蛇。但是它们实际上是指两种不同的蛇。a.x = a
:表示使a.x
引用由a
引用的蛇。b.x = a.x
:表示使b.x
引用由a.x
引用的蛇(与a
相同)。b.y = b.x
:表示使b.y
引用由b.x
引用的蛇(与a
相同)。a.y = b.y.x
:表示使a.y
引用b.y.x
引用的蛇,因为b.y
引用a
,它引用a.x
,与a
相同。
关于java - 实例变量如何影响此处的构造函数的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53286149/