Java引用类型

2019-06-26  本文已影响0人  daysting

题:

class ChangeIt

{

   static void doIt( int[] z )

    {

        int[] A = z;

        A[0] = 99;

    }

}

public class TestIt

{

    public static void main( String[] args )

    {

        int[] myArray = {1, 2, 3, 4, 5};

        ChangeIt.doIt(myArray);

        for (int i = 0; i < myArray.length; i++)

        {

            System.out.print(myArray[i] + " ");

        }

    }

}

选择: ( )

A .1 2 3 4 5

B. 99 2 3 4 5

C. 0 2 3 4 5

D. 99 99 99 99 99


答案为B, 这其中主要涉及java引用类型的地址传递.  all know在基本类型中等号赋值相当于值的拷贝

例如 A=1    B=A    则B=1

在引用类型中  int[] A = z; 会进行地址的拷贝

运行图解

由图看出数组A和Z同时指向了同一块地址,所以在数组A[0]=99 意味着数组Z指向的地址的对象也发生了改变!

上一篇 下一篇

猜你喜欢

热点阅读