nhkwokyo的专栏

日事日毕,日清日高

引用变量与把参数传递给方法

引用变量与把参数传递给方法

        基本类型的变量与对象变量(引用类型)之间在方法的参数传递方面有着本质的不同。基本类型变量传递的是值(按值传递),而对象变量传递的是引用(按引用传递)。

        “按值传递”意味着参数的值被复制,然后传递到方法中。在方法中,如果愿意,这个副本可以被修改,而不会影响原始的参数。

        “按引用传递”意味着把一个参数引用传递给方法。利用这个引用,方法实际上是在直接访问参数,而不是复制它。方法对参数所做的任何改动直接施加到作为参数的实际对象。从方法中返回之后,该对象将继续保持对方中已经设置的任何新值。

        实际上,这里仍然是把引用一个对象参数的变量值的副本传递给方法。这就是为什么某些Java书籍(使人误解地)讲:“所有方法调用都是按值传递的。”对象引用的副本按值传递,而实际上还是按引用传递了对象本身。

        其中的一个主要差别是,利用“按值传递的引用”(像Java中那样),将无法利用参数进行任何操作,以改变原始参数指向的位置。利用真正的“按引用传递”,对象参数的赋值将引起原是参数也同时发生变化。在Java中,方法可以改变对象参数中的内容,但不能改变它是哪一个对象。

阅读更多
文章标签: java
个人分类: JAVA2 教程(第五版)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

引用变量与把参数传递给方法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭