Java改变了一个对象的值

时间:2018-04-11 14:03:24

标签: java

Date

为什么我不能在上面的代码中更改对象“num”的值?如何修改它以实现操作。

2 个答案:

答案 0 :(得分:3)

public void change(Integer n) {
    n = null;
}

n本地变量。

将其更改为num = null

如果要将num的值设为null(正如您在注释中所述),则无需将任何内容作为参数传递。这样做。

public void makeNull() { //or call it setNull
    num = null;
}

另外,不要公开num。把它私有化。这是一个很好的做法(除非你有充分的理由,否则必须遵循一个IMO)

答案 1 :(得分:0)

除了其他答案中提供的内容之外,Java是按值传递的。当您使用原始变量作为参数调用函数时,被调用函数将使用其自己的变量本地副本作为参数。它只会提取该变量的值。对被调用函数中参数变量的更改不会影响原始变量。