码迷,mamicode.com
首页 > 编程语言 > 详细

java中值传递和引用传递

时间:2017-07-26 23:25:13      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:rgs   class   system   学习   new   color   size   str   style   

本来今天刚学习的内容,然后去其他博客看了下,发现都吵起来了,就是名字原因,有的说java有值传递和引用传递,有的说引用传递本质就是值传递,我管你杂说的,只要自己理解好,代码知道运行结果就好了。

我用自己的话,自己的理解来解释下,反正都是自己写着玩,自己看的

值传递:传递的值,这个值以后怎么改变,值不会发生改变的。

引用传递:将对象的引用地址传递过去,如果值发生改变,那么源值也发生改变。

代码如下:

值传递

public class Test1 {

    public static void main(String[] args) {        
        int a=1;
        fun(a);
        System.out.println("main中的值"+a);
    }
    public static void fun(int a){
        a=2;
        System.out.println("fun中的值"+a);
    }
}

console结果:

fun中的值2
main中的值1

引用传递:

class Demo1{
    private String msg="hello";
    public Demo1(String msg) {        
        this.msg = msg;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }    
}
public class Test2 {

    public static void main(String[] args) {
        Demo1 demo=new Demo1("world");
        fun(demo);
        System.out.println(demo.getMsg());
    }
    public static void fun(Demo1 demo){
        demo.setMsg("hi");
    }

}

console结果:hi

java中值传递和引用传递

标签:rgs   class   system   学习   new   color   size   str   style   

原文地址:http://www.cnblogs.com/lbloveab/p/7242108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!