黑马程序员java教程:基本数据类型参数及引用数据类型参数传递

黑马程序员java教程:基本数据类型参数及引用数据类型参数传递

ID:34504526

大小:68.58 KB

页数:4页

时间:2019-03-07

黑马程序员java教程:基本数据类型参数及引用数据类型参数传递_第1页
黑马程序员java教程:基本数据类型参数及引用数据类型参数传递_第2页
黑马程序员java教程:基本数据类型参数及引用数据类型参数传递_第3页
黑马程序员java教程:基本数据类型参数及引用数据类型参数传递_第4页
资源描述:

《黑马程序员java教程:基本数据类型参数及引用数据类型参数传递》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基本数据类型参数及引用数据类型参数传递  示例1:基本数据类型参数传递1.//基本数据类型参数传递2.classDemo3.{4.      publicstaticvoidmain(String[]args){5.          intx=3;6.          show(x);7.          System.out.println("x="+x);8.      }9.      10.      publicstaticvoidshow(intx){11.          x=4;12.   

2、   }13.}复制代码  运行结果:   执行过程说明:  1、jvm调用main方法,main方法入栈。  2、将x变量值设置为3。  3、main方法调用show方法,3作为基本数据类型参数赋值给show方法参数x,也就是说,此时show方法的参数x值为3。  4、show方法执行x=4后,show方法的参数x值变为4。  5、show方法执行结束,show方法出栈。show方法参数x也随之出栈。  6、main方法打印x的值。此时x指的是main方法中的x变量的值(show方法中的参数x已经随show方法一

3、块出栈了)。所以,打印出来的x值为3而不是4。  7、main方法执行结束,出栈。        示例2:引用数据类型参数传递1.//引用数据类型参数传递2.classDemo3.{4.      intx=3;5.      6.      publicstaticvoidmain(String[]args){7.          Demod=newDemo();8.          d.x=9;9.          show(d);10.          System.out.println(d.x);

4、11.      }12.      13.      publicstaticvoidshow(Demod){14.          d.x=4;15.      }16.}复制代码  运行结果:  执行过程说明:  1、jvm调用main方法,main方法入栈。  2、创建Demo对象d(在堆内存中创建,d作为引用变量,指向堆内存中创建的实体对象),并将d指向的实体对象中的属性x的值设置为9。  3、main方法调用show方法,d作为引用数据类型参数赋值给show方法参数d,也就是说,此时show方法的参数

5、d和main方法中的变量d同时指向了堆内存中同一个实体对象。  4、show方法执行d.x=4后,堆内存中的实体对象的x属性值变为4。  5、show方法执行结束,show方法出栈,show方法参数d也随之出栈。虽然show方法参数d出栈了,但是,由于main方法的变量d依然引用着堆内存中的实体对象,因此堆内存中的实体对象不会被垃圾回收器清除。  6、main方法打印d.x的值。此时,d指的是main方法中的引用变量x,d.x指的依然是堆内存中的实体对象中x的值。所以,打印出来的值为4而不是9。  7、main方法

6、执行结束,出栈。  总结:  在java中,方法参数的传递永远都是传值,而这个值,对于基本数据类型,值就是你赋给变量的那个值。而对于引用数据类型,这个值是对象的引用,而不是这个对象本身。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。