方法调用中的参数传递方式(调用方法并传递参数时括号内的参数可以是)
导语:方法调用时参数的传递和错题讲解
注:Java中规定,参数传时,一定是将参数中保存的东西复制一份传递过去。
参数传递时,和类型无关,不管是基本数据类型还是引用数据类型。
1.代码引入:
-----------------------------------------------------------------------------------------------------------
1.1内存图引入讲解:
---------------------------------------------------------------------------------------------------------------
2.错题代码引入:
错误理解:
首先调用main方法,创建new Person,将其内存地址传递给Person p,接着传递数值,使p.age为10,再接着传递参数10给add(Person p)使p.age++等于11,所以add里面输出值为11.接着返回main方法,输出p.age值为10。
真确理解:
首先调用main方法,创建new Person,将其内存地址传递给Person p,接着传递数值,使p.age为10,再接着传递内存地址(注意这里的p为内存地址,而不是数值,从P=new person可看出)给add(Person p)使p.age++等于11,所以add里面输出值为11.接着返回main方法,(两个类中的p虽然不是同一个p,但他们都指向同一块内存),因为add里面的p使堆里面的p的值为11,而main中的p.age也指向堆里的p,所以输出p.age值为10。
--------------------------------------------------------------------------------------------------------------
2.1内存图引入讲解:
由此可看出内存图的重要性,他可帮助更快更清晰的读解。
本文内容由快快网络小曲创作整理编辑!