天天看点

形参影响实参

a当参数类型是基本数据类型时,形参的改变不会影响到实参;

b当参数类型是引用数据类型时,若修改形参指向的内容会影响到实参,因为形参和实参指向的是同一块区域

c当参数类型时引用数据类型时,若先修改形参的指向后再修改形参指向的内容则不会影响到实参的数值,因为此时二者指向的区域是不同的.

例如

public class Test01{

    public static void main(String[] args){

        int num = 10;

        Test01 te = new Test01();

        te.show(num);

        System.out.println("main函数中num的值:"+num);

        int[] arr = {1,2,3};

        te.test(arr);

        System.out.println("main函数中数组的第一个值是:"+arr[0]);//结果为1000

    }

    public void show(int num){

        num = 200;

        System.out.println("show方法中num的值:"+num);

    }

    public void test(int[] arr){

    //arr = new arr[4];若加上这一句,则main函数中的数组不再受到影响,因为test中的数组改变了指向

    arr[0]=1000;

    System.out.println("test方法中数组的第一个值是:"+arr[0]);//结果为1000

    }

}