当前位置:编程学习 > JAVA >>

求解传递基本类型参数和传递引用类型参数的区别


public class Test {
public static void main(String [] args){
Count myCount = new Count();
int times  = 0;
for(int i=0;i<100;i++)
increment(myCount,times);
System.out.println("count is "+ myCount.count);
System.out.println("times is "+times);
}
public static void increment(Count c,int times){
c.count++;
times++;
}
}
class Count{
public int count;
Count(int c){
count  = c;
}
Count(){
count = 1;
}
}

这段代码就是考这个的,为什么times的值不会改变? Java 类 --------------------编程问答-------------------- myCount是类类型,传递过去的是一个引用而不是实体,当你执行递增的时候,就相当于修改了myCount类里面的count,所以这个会被自增     而int是基本类型,传递的是一个值而已,而不是引用,所以无论你证明修改,time的值是不会变的 --------------------编程问答-------------------- 基本类型是值传递,引用类型是引用传递
值传递不改变原来的值,引用传递会改变原来的值 --------------------编程问答-------------------- 其实都是传值,只不过一个传的是基本类型的值,一个传的是内存地址
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,