论坛首页 入门技术论坛

java 值和引用的传递

浏览 2460 次
该帖已经被评为新手帖
作者 正文
   发表时间: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源代码中体现!
引用传递---对象作为参数
   发表时间:2008-03-25  
补充一句
Java 的参数传递其实只有一种,就是值传递。

所有变量的引用的内容都被复制后传到函数中。引用是内存中的一个地址。

对于基本类型,引用中存放的是基本类型的值。
对于类对象,引用存放的是存储对象数据的内存空间的地址。

所以,
在函数中修改基本类型的参数的值,不影响传到函数中参数,因为函数修改的是复制的内容;
在函数中修改类对象的参数的值,会改变其中数据成员的值,因为函数修改的是引用实际指向的内存空间中的值。
0 请登录后投票
   发表时间:2008-03-25  
看到不错的一句解释: Only pass by value
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics