java 实参传递 对象 非引用传递
时间: 2023-10-22 07:27:33 浏览: 131
java通过实例了解值传递和引用传递
在 Java 中,对象是通过引用传递的,而不是通过值传递的。这意味着当我们将一个对象作为参数传递给一个方法时,实际上传递的是这个对象的引用,而不是对象本身的副本。
因此,即使我们在方法中修改了这个对象的状态,也会影响到方法外部引用的同一个对象。这与值传递不同,值传递是将变量的副本传递给方法,方法中任何对该变量的修改都只会影响方法内部,不会影响到方法外部。
需要注意的是,虽然对象是通过引用传递的,但是如果在方法中重新分配了一个新的对象给参数,那么这个新对象只会在方法内部存在,不会影响到方法外部的对象。
例如:
```
public void myMethod(MyObject obj) {
obj = new MyObject(); // 在方法中重新分配一个新的对象
}
```
在这个例子中,即使在方法中重新分配了一个新的对象给 obj,方法外部引用的同一个对象仍然存在,不会受到影响。
因此,在 Java 中,对象是通过引用传递的,而不是通过值传递的。这种方式可以使方法更加灵活,可以对对象进行修改,而不需要返回值来传递修改后的对象。
阅读全文