java对象引用里弱引用代码
时间: 2023-03-22 12:02:33 浏览: 107
Java中的对象引用是一种弱引用,因为它们只是指向对象的内存地址,而不是对象本身。因此,当使用一个对象引用作为参数传递给一个方法时,它被称为“弱引用传递”,也就是说,方法接收到的是对象引用的副本,而不是对象本身。因此,在方法内部对对象引用的任何更改都不会影响原始对象引用指向的对象。
下面是一个示例,演示了弱引用传递和对象引用的行为:
```
public class Example {
public static void main(String[] args) {
Person person1 = new Person("Alice");
Person person2 = person1; // person2引用和person1指向同一个对象
changeName(person2);
System.out.println(person1.getName()); // 输出Alice
}
public static void changeName(Person person) {
person.setName("Bob");
}
}
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
```
在这个示例中,我们创建了一个`Person`对象`person1`,然后将其赋给另一个对象引用`person2`。在`changeName`方法中,我们更改了`person2`的名称为`Bob`,但是在`main`方法中输出`person1`的名称时,输出的是`Alice`,因为`person1`指向的对象并没有被更改,只有`person2`的引用被更改了。
阅读全文