static class Node {
public int val;
public Node prev;
public Node next;
public Node child;
public Node() {}
public Node(int _val,Node _prev,Node _next,Node _child) {
val = _val;
prev = _prev;
next = _next;
child = _child;
}
};
static void add(Node a){
a=a.prev;
System.out.println(a.val);
}
public static void main(String[]args){
Node a=new Node(1,null,null,null);
Node c=new Node(3,null,null,null);
Node b=new Node(2,a,null,c);
add(b);
System.out.println(b.val);
}
这里输出的结果,add中输出的是1,因为a=a.prev;
但main中输出的是2,这里并不能通过a=a.prev让b变成a(所以这也是很奇怪的一个地方,暂时没搞懂为什么)
而如果add里面将a的val,进行了++操作,那么main中的输出值也增加了1(因此这里是可变的,但为什么让a=a.prev并不能改变a,这还不清楚)