Java中值传递和引用传递实例
来源:互联网 发布:淘宝商盟怎么加入 编辑:程序博客网 时间:2024/05/17 18:42
题目描述:Java中值传递和引用传递实例
实例代码如下;
<span style="font-size:14px;">class Value{public int i=15;}public class CompareBasicTypes {public static void main(String[] args) {CompareBasicTypes test=new CompareBasicTypes();test.first();}public void first(){int i=5;Value value=new Value();value.i=25;//将value和i传递给secondsecond(value, i);System.out.println(value.i);}public void second(Value value,int i){i=0;value.i=20;Value value2=new Value();value=value2;System.out.println(value.i+" "+i);}}</span>
代码运行结果如下;
结果分析:
1.当在first函数中调用second函数时,传递了两个参数,一个是Value类型的value,一个是int类型的i,所以对value的传递是引用传递,对i的传递是值传递
2.因为对i的传递是值传递,所以second函数中对i的修改并不会改变first中i的值
3.value的传递是引用传递,所以second(Value value,int i)中的value相当于一个指针,指向first中的value,当对其进行修改时,相当于直接对first中的value中的值进行修改
4.当执行这一句Value value2=new Value(); value=value2;代码时,second中的value指针指向了一个新的对象value2,但是first中的value对象的值不变,所以first函数中的输出仍然为20.
值传递和引用传递小结:
Java中的传递统称为值传递,但是又分为值传递和引用传递。
1.值传递包括:基本类型数据的传递、常量池中String的传递,即构建方式为String str=“haha”的方式。
2.引用传递:除了基本类型的传递和常量池中String的传递,其他都为引用传递,引用传递也不改变传递的地址,但是可以改变地址指向对象中的值。
0 0
- Java中值传递和引用传递实例
- java中值传递 和 引用传递
- java中值传递和引用传递
- java中值传递和引用传递辨析
- Java中值传递和引用传递问题
- java中值传递和引用传递
- Java中值传递和引用传递
- java中值传递和引用传递
- java中值传递和引用传递
- Java中值传递和引用传递
- java中值传递和引用传递
- Java中值传递 引用传递
- 复习:java中值传递和引用传递(java基础教程)
- java中值传递和引用传递出现区别的原因
- java中值传递和引用传递的区别
- 再次学习java语言中值传递和引用传递
- JAVA中值传递和引用传递的三种情况
- java中值传递和引用传递的区别
- jmeter if控制器 判断应用记录心得
- linux系统安装Tomcat并设置开机启动
- IMAP和POP3有什么区别?
- qt实现网络爬虫
- SGU 136 Erasing Edges(计算几何)
- Java中值传递和引用传递实例
- Linux用户与用户组的添加,查看,删除
- 软件的升级及卸载原理
- 【JZOJ4376】染色配对
- 简单限速器的实现
- 字节流
- 多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
- eclipse的文件同步插件
- oracle引入索引的目的