Java传参

核心: java在方法传递参数时,是将变量代表的值复制一份,然后传入方法体去执行。对于基本数据类型,变量代表的值为值本身,对于引用数据类型,变量代表的值为对象的引用地址。

public class Test {

    public int m =10;

    public static void main(String[] args) {
        int j = 1;
        String s = "hello";
        Integer n = 200;
        int[] a = {1,2,3,4,5};
        Test e = new Test ();

        change(j,s,n,a,e);

        System.out.println("j= "+j);      //1,基本类型,栈中变量存值而非对象的引用
        System.out.println("s= "+s);      //hello,字符串,不可变对象
        System.out.println("n= "+n);      //200,包装类,不可变
        System.out.println("a= "+ Arrays.toString(a));      //[2,2,3,4,5]
        System.out.println("e.m= "+e.m);      //11

    }
    /**
     * 方法的参数传递机制
     *      java所有的参数传递都是传递的都是变量所代表的值副本。
     *      1.形参是基本数据类型--传递数据值
     *      2.形参是引用数据类型--传递地址值  
     *        注意:String、包装类等对象不可变性,
     *             此类对象发生改变将会在堆内存中生成一个新的对象,
     *             并将参数变量的引用指向新生成对象的内存地址。
     */
    public static void change(int j,String s,Integer n,int[] a,Test e){
        j+=1;
        s+="world";
        n+=1;
        a[0]+=1;
        e.m+=1;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容