public class Practice {
public int value;
public Practice child;
public Practice(int value) {
this.value = value;
}
public static void main(String[] args) {
Practice obj = new Practice(10);
Practice obj2 = new Practice(9);
Practice obj3 = new Practice(11);
obj.child = obj3;
obj.child = obj2;
System.out.println(obj2 == obj3);
}
}
在这段代码中,由于我设置了obj.child = obj 3,所以我想你可以用obj 3代替obj.child,换句话说,“obj.child = obj 2”行可以表示“obj 3 = obj 2”。然而,在print语句中,它返回false。
但是,如果您执行以下操作
obj.child = obj3;
obj.child.value = obj2.value;
然后你实际上是在操作obj 3,因为它的值发生了变化,然而在前面的代码中,obj 3只是被“替换”了,而对象保持不变。
同样的事情:
obj.child = obj3;
obj2 = obj.child;
现在他们实际上是平等的...所以你可以subsitute obj 3为obj.孩子?现在我很困惑...有点新手编码器,所以我会很感激,如果有人会澄清这一点对我来说。谢谢!!
1条答案
按热度按时间wn9m85ua1#
这就是在你的每一个代码行之后发生的事情。
1
二
三
4
5