首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java值传送

2013-09-29 
java值传递Java使用按传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠

java值传递

Java使用按值传递的函数调用方式,这往往使我感到迷惑。因为在基础数据类型和对象的传递上,我就会纠结于到底是按值传递,还是按引用传递。其实经过学习,Java在任何地方,都一直发挥着按值传递的本色。

 

首先,让我们看一看基础数据类型是如何按值传递的。

52Wed Sep 25 20:24:32 CST 2013Wed Sep 25 20:24:32 CST 2013Wed Sep 25 00:00:00 CST 2013Tue Sep 24 20:24:32 CST 2013

从结果可以看出:

 

一、包装类型作为不可变的对象,原有的Integer对象并没有改变,所以输出与基础类型的一样。

二、日期类型是可变对象,当仅仅是读取原有对象中的值时,没有问题,调用函数中的打印结果不改变,和当前日期保持一致,只是目标函数中打印的是新对象的值,所以两次打印结果不同;当在目标方法中将原有对象改变,那么两次打印的都是原有对象的值,所以结果相同,并且与初始的new Date()不一样。

 

所以说呢,基础数据类型按值传递很容易理解,但是对于对象,Java也是按值传递,只不过传递的时候不是直接传递对象,而是传递引用的值,引用指向的对象相同而已。

 

以我的水平就能写这么多,希望大牛们觉得不对的地方,给我指出来。。。


热点排行