方法中所有参数都是“传值” (方法中参数变量的值是调用者指定然的值副本)
对于基本数据类型的参数,向该参数传递的值的不可以高于该参数的级别(不能向int型参数传递一个float值) 如果 出现会有什么情况发生??
引用类型参数的传值
如果改变参数变量所引用的实体, 就是导致得变量的实体发生同样的变化。因此,两个同类型的引用型变量如果具有同样的有引用,就会用同样的实体,但是改变参数的引用不会影响向其传值 的变量的引用。
(这一个什么话 我看了N遍 怎么就是不懂呢???)
Java程序的函数调用到底是传值呢还是传参呢?这可是个难缠的问题,
最经典的解释莫过于“Java函数是传值的,Java函数传递的参数是对象的引用”
传递参数的时候传递的就是相应内存地址中的数,所以说“Java函数是传值的”。
对于基本类型这个数就是其值本身,传递值的结果就是,改变新的变量的值不影响旧的变量的值;而对于对象来说这个数是它的地址,传递这个值就相当于传递了真实对象的引用,传递了引用或者说是地址的结果就是变化会全局可见,所以又可以说“Java函数传递的参数是对象的引用”。
对象是传引用的 参数是传值的
在Java中,你从来没有传递对象,你传递的仅仅是对象的引用!
传值意味着当参数被传递给一个方法或者函数时,方法或者函数接收到的是原始值的副本。因此,如果方法或者函数修改了参数,受影响的只是副本,原始值保持不变。
在Java中,传递一个引用类型的参数的结果只是传递引用的副本(传值)而非引用自身。