在类中设置字段,原始对象不会更改字段吗?

时间:2017-08-20 00:05:16

标签: java

我试图弄清楚它是如何工作的。我有一种感觉,我忽略了这一点,但我有这个代码。

newNode.setNextNode(root);
root = newNode;
return true;

节点类的代码

public class Node <T extends Comparable <T>> implements Comparable<T>{

    private Node nextNode = null;
    private T data;

    public Node(T data){
        this.data = data;
    }

    public boolean setNextNode(Node nextNode){
        this.nextNode = nextNode;
        return true;
    }

    public Node next(){
        return nextNode;
    }

    public T getData(){
        return data;
    }
    @Override
    public String toString() {
        return data.toString();
    }


    @Override
    public int compareTo(T o) {
        return getData().compareTo((T) nextNode.getData());
    }
}

root现在设置为我的新节点中的一个字段。 然后做root = newNode。为什么当我做root.next它不只是给我回根?

当我做setter时它会创建一个完整的对象副本吗?因为我知道当你使一个对象等于另一个对象时,引用引用同一个对象。因此它可以改变原始对象。

如果有人能解释这将是伟大的

谢谢

0 个答案:

没有答案