java传参数取地址
时间: 2023-11-12 12:57:59 浏览: 51
在 Java 中,传递参数时,如果参数是基本数据类型,那么传递的是值的拷贝;如果参数是对象类型,那么传递的是对象的引用。因此,在方法内部修改对象的属性值时,会影响到原对象。
如果想要在方法内部修改对象的引用,需要使用传递对象的地址。可以将对象的地址作为参数传递给方法,然后在方法内部通过该地址来修改对象的引用。
例如:
```
public class Test {
public static void main(String[] args) {
Person p = new Person("Tom");
System.out.println("Before changeName: " + p.getName());
changeName(p);
System.out.println("After changeName: " + p.getName());
}
public static void changeName(Person person) {
person = new Person("Jerry");
}
}
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
输出结果为:
```
Before changeName: Tom
After changeName: Tom
```
可以看到,在 `changeName` 方法中,虽然修改了 `person` 的引用,但是并没有影响到原来的 `p` 对象。