A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© an3077458 中级黑马   /  2015-9-22 21:52  /  478 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

◆传值与传引  严格来说,Java中所有方法参数都是传值。因为即使是传递的参数是对象的引数时,引数本身也是传值的。所有基本类型都是传值的。  传值:被传入的参数被视为内部的局域变量,其变化不影响外部变量的原始值。  传引:对于引数本身来讲也是传值的,但是在方法内部若对引数所指向的对象属性有改变, 则会直接实时地影响所指向的对象属性。  理解传引这一概念的最佳方式就是画出指向图。eg. A(Object)O 对于A本身而言它是传值的,也就是说当A作为参数传递的时候,假若在方法内部把其它的引数赋给了A,但是当方法返回时,A仍旧是指向原来的对象,而不会改变。其次,对于传引来说,假若在方法内部对A所指向的对象属性有改变,那么对象属性的改变会是直接实时的。 再次强调,Java中所有的参数传递都是传值的。  传值这种题型的考试很多,基本类型传值问题考的较多的是对某一变量,故意用某一方法试图改变它,然后方法返回时再打印它。按传值的说法,实际上该变量并没有改变。

2 个回复

倒序浏览
高斯林支持你这个观点
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马