复习:Java的方法参数传递机制

一,方法传参

  参数为基本数据类型:数据值

  参数为引用数据类型:地址值,String,包装类等对象不可变

二,实际案例

public class TestArgs {

    public static void main(String[] args) {
        int i = 1;
        String str = "hello";
        Integer j = 10;
        Integer[] array = {1, 2, 3, 4 ,5};//引用类型存在于堆上
        MyData myData = new MyData();

        foo(i,str,j,array,myData);

        System.out.println("i="+i);
        System.out.println("str="+str);
        System.out.println("j="+j);
        System.out.println("array="+ Arrays.toString(array));
        System.out.println("mydata.i="+myData.i);
    }

    public static void foo(int i, String s, Integer j, Integer[] array, MyData myData){
        i += 1;
        s += "world";
        j += 1;
        array[0] += 1;
        myData.i += 1;
    }

}

//MyData为对象,存在于堆上,其属性也存在于堆上
class MyData{
    int i = 5;
}

运行结果为:

i=1
str=hello
j=10
array=[2, 2, 3, 4, 5]
mydata.i=6

猜你喜欢

转载自www.cnblogs.com/noperx/p/11316692.html