数据类型,值传递和引用传递有什么区别,String是什么传递

 我来答
1435397496
2017-03-27 · TA获得超过697个赞
知道小有建树答主
回答量:317
采纳率:96%
帮助的人:180万
展开全部
你学过C或者C++吗?这两个概念是从C/C++延续过来的,就类似于C里面的值传递和指针传递。在java中除了基本类型(Integer/Float/Double等)和String类的对象外,所有的类对象引用都是引用传递,也就是传递的对象地址。

所谓值传递就是传递的值的拷贝,而不是原来的值,比如
public static void main(String[] args) {

int a = 10;

int b = 20;

int c = add(a, b);
System.out.println("a = " + a + ", b = " + b + ", c = " + c);

}

private static int add(int a, int b) {

a = 20;

b = 30;

return a + b;

}
输出:a = 10, b = 20, c = 50
这就是所谓值传递,在被调方法中改变参数值不会影响主调方法中定义的变量的值
如果你将a、b定义为Student类的对象,然后在add方法中改变参数里面的值,那么主调方法main中的a、b变量将跟着发生改变,就是所谓引用传递
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式