我使用this post作为我的指导。
我想知道我是否理解了java中传递值的以下概念。
我有一个java对象,我将它传递给一个调用类构造函数的函数(所以在这种情况下,对象的地址,我猜在这种情况下)。我的主对象的地址被“复制”到构造函数对象。现在这个构造的对象和我的主要对象在同一个地址?或指向同一地址?
void main(){
Result result = new Result(); //empty object
Timer timer = new Timer();
timer.schedule(new UpdateResultTask(result);
result.getValue(); has some valid values. Is not empty anymore.
}
public class UpdateResultTask extends TimerTask {
private Result result;
//Constructor
public UpdateResultTask(Result result) {
this.result = result;
}
@Override
public void run() {
// the local result object gets filled here
//where response is some http response
result = response.getEntity(Result.class);
}
}
由于局部函数内部的变化反映在main函数的外部,我假设它是因为在构造时,新的(主)对象都具有相同的地址?
我理解正确吗?在java中,传递对象的值只是传递对象地址的副本?