浏览 2460 次
锁定老帖子 主题:java 值和引用的传递
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-24
在Java中,当基本类型作为参数传入方法时,无论该参数在方法内怎样被改变,外部的变量原型总是不变的! 一些为基本数据类型 Boolean 布尔型 只有两个值true、false Char 字符型 Byte 8位带符号整数 -128到127之间的任意整数 Short 16位无符号整数 -32768~32767之间的任意整数 Int 32位带符号整数 -231到231-1之间的任意整数 Long 64位带符号整数 -263到263-1之间的任意整数 Float 32位单精度浮点数 根据IEEE754-1985标准 Double 64位双精度浮点数 根据IEEE754-1985标准 注意String的存储实际上通过char[]来实现的,在jdk源代码中体现! 引用传递---对象作为参数 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-25
补充一句
Java 的参数传递其实只有一种,就是值传递。 所有变量的引用的内容都被复制后传到函数中。引用是内存中的一个地址。 对于基本类型,引用中存放的是基本类型的值。 对于类对象,引用存放的是存储对象数据的内存空间的地址。 所以, 在函数中修改基本类型的参数的值,不影响传到函数中参数,因为函数修改的是复制的内容; 在函数中修改类对象的参数的值,会改变其中数据成员的值,因为函数修改的是引用实际指向的内存空间中的值。 |
|
返回顶楼 | |
发表时间:2008-03-25
看到不错的一句解释: Only pass by value
|
|
返回顶楼 | |