17370845950

Java 方法中传递自定义对象参数的原理是什么?

Java 方法中传递自定义对象参数的原理

在 Java 中,可以通过方法参数传递对象。当传递一个自定义对象参数时,对象在方法参数中实际传递的是对象的引用。

原理

  • 当一个对象被分配给一个方法参数时,存储该对象的内存地址被复制到参数中。
  • 方法使用这个内存地址来访问对象。
  • 对对象进行的任何修改都将通过该引用反映在原对象上,因为方法参数和原对象指向相同的内存位置。

实战案例

让我们看一个示例来说明这一点:

public class Main {
    public static void main(String[] args) {
 

// 创建一个 Person 对象 Person person = new Person("John", 25); // 调用带 Person 对象参数的方法 updatePerson(person); // 在 main 方法中打印更新后的姓名 System.out.println(person.getName()); } public static void updatePerson(Person person) { // 修改对象的属性 person.setName("Jane"); } public static class Person { private String name; private int age; // 构造函数 public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } }

输出

Jane

在这个示例中:

  • updatePerson 方法接受一个 Person 对象作为参数。
  • updatePerson 方法内,修改了 name 属性。
  • 由于对象引用相同,main 方法中打印的名称是更新后的名称。