有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java访问另一个类的数组变量

假设我有一门课,如下所示:

public class class1{

   private int[] array1;

   public class1(){
      array1 = new int[10];
      }

   public int[] getArray(){
      return array1;
      }
}

如果我在另一个类或main中创建该类的实例,并使用getArray()方法将数组分配给上层类中的另一个变量,然后在那里修改数组的值,那么第一个类中的原始数组值也会被修改吗


共 (2) 个答案

  1. # 1 楼答案

    是的,原始数组值也将被修改

    当您从方法返回数组的引用时。引用只是指向对象地址的指针。当您从方法返回它时,它将被指定给另一个引用。如果使用该引用修改任何内容,则实际上是在修改同一数组,即原始数组

  2. # 2 楼答案

    will the original array values in the first class be modified also?

    是的,它将被修改,因为您在调用者中得到的不是数组本身的副本,而是原始数组对象引用的副本

    而且,如果使用任何引用修改数组,则该更改将反映在指向该数组的所有引用中