首页 > 编程语言 > 详细

Java中传值和传引用

时间:2020-06-12 14:41:41      阅读:41      评论:0      收藏:0      [点我收藏+]
public class Demo01 {
     int a = 0;
    public static void main(String[] args) {
        Demo01 demo01 = new Demo01();

        demo01.test(demo01.a);
        System.out.println(demo01.a);//0

        demo01.test01(demo01);
        System.out.println(demo01.a);//1

    }
    public  void test(int a){//传递的是值
        a = a=1;
    }
    public void test01(Demo01 s){//传递的是引用
        s.a = s.a + 1;

    }
}

在Java中只有传值这一个概念(实参将值传递给形参),但是test方法中传递的是形参的值,而不是形参的地址值,test01方法传递的是引用值(就是地址值)
我们可以看作方法中的形参复制了传递过来的实参的值。然后对这个值进行操作,如果传递过来的是基本数据类型,那么仅仅改变了传递过来的值,而没有改变实际值,如果传递过来的是地址值,那么对地址的改变就会直接哟影想实参的值



 

Java中传值和传引用

原文:https://www.cnblogs.com/guosai1500581464/p/13098672.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!