java 新对象赋值老对象里边的内容
时间: 2024-09-12 11:06:44 浏览: 33
Java对象不使用时赋值null的意义详解
5星 · 资源好评率100%
在Java中,如果你想要将新创建的对象的内容赋给已存在的对象,通常情况下,这是不可能直接完成的,因为对象是引用类型,而非值传递。当你声明 `new` 关键字创建一个新的对象时,你实际上是在内存中分配了一块新的空间并初始化了该对象。然后,如果想让两个对象共享同一份数据,你需要通过引用进行操作。
例如,假设有一个 `Person` 类,你可以这样实现:
```java
class Person {
String name;
// 构造器...
}
// 创建一个新对象
Person newPerson = new Person();
newPerson.name = "John";
// 如果你想让现有对象 "oldPerson" 拥有相同的 "name" 值,
// 你应该将 "newPerson" 的引用赋给 "oldPerson"
Person oldPerson = newPerson; // 这里实际上是将引用复制,不是内容
// 此时,oldPerson 和 newPerson 名字都是 "John"
System.out.println(oldPerson.name); // 输出: John
```
重要的是要理解,这里的赋值操作(如 `oldPerson = newPerson`)实际上是将 `newPerson` 对象的引用赋给了 `oldPerson`,而不是 `newPerson` 对象本身的数据。所以,改变其中一个对象的状态(如 `name`),其他引用指向的实例也会受到影响。
阅读全文