www.3112.net > jAvA中的值传递和引用传递的区别

jAvA中的值传递和引用传递的区别

值传递和引用传递是c中的概念,在java中可以用于方便理解,但是java中是值传递的.说说区别吧,昨天刚好看见这个问题.8个基本数据类型是值传递,即方法内对其修改是不会改变实参的,其他引用类型(除了string)可以理解为引用传递,传进方法内部的是一个地址,可以理解为房子的钥匙,你有了钥匙,照样可以对房子进行改变,是吧.那为什么string不行呢?因为string是不可改变的,虽然它也是传了地址,但已经是第二个引用(b)了 ,当你对形参进行改变,这时候b会指向新的string对象.这时候原来的引用a是没有改变的,还是指向第一个对象.不懂可以追问,共同学习

值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值.引用传递:(形式参数类型是引用数据类型参数):也称为传地址.方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数.

引用传递的是对象的地址,值传递的是变量的值使用引用传递,被调用函数使用的是调用函数传入的对象本身,也就是说在被调用函数中对对象进行修改将直接导致外部对象的值被修改.而值传递,传递进去的是变量的副本(即拷贝),此时在被调用函数中对形参的任何修改都不会改变外部变量的值.引用你可以直接理解成对象的别名.例如有有函数Test(String str);对象String name;调用Test:Test(name);则在Test里面str其实是name外部变量的别名,他们所代表的是同一个对象,所以Test函数修改str即修改name

JAVA中没有引用传递都是值传递 ,网上讲的好多都是错误的,希望发帖都以后思考后再发:在 Java 应用程序中永远不会传递对象,而只传递对象引用.因此是按引用传递对象.但重要的是要区分参数是如何传递的,这才是该节选的意图.

只有在方法调用的时候才涉及到值传递的概念! java中进行方法调用的时候传递参数时,遵循值传递的原则: 1)基本数据类型,传递的是数据的拷贝 2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身 楼主的问题涉及到的

其实主要是看 参数列表声明中参数名的属性引用的意义是起个别名 其本身指的就是实际传入的那个参数地址 这和c++中指针功能是相近的而按照值传递 是传递一个参数副本进去 也就说这个副本必是非地址型的变量正如zhuifeng6464 所说,如果

值传递:指的是在方法调用时,传递的参数是按值的拷贝传递,值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了.引用传递:指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址.传递的是值的引用,也就是说传递前和传递后都指向同一个引用(也就是同一个内存空间).

应该说的是“值传递”和“引用传递”吧值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值.引用传递:(形式参数类型是引用数据类型参数):也称为传地址.方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被保留了下来,所以方法执行中形式参数的改变将会影响实际参数.

1、值传递:指的是在方法调用时,传递的参数是按值的拷贝传递. (1)按值传递是传递的值的拷贝,按引用传递其实传递的是引用的地址值,所以统称按值传递. (2)在Java里面只有基本类型和按照下面这种定义方式的String是按值传递,其它的都是按引用传递.就是直接使用双引号定义字符串方式:String str = “Java私塾”; 特点:传递的是值的拷贝,也就是说传递后就互不相关了.2、引用传递:指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的地址.

值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值.引用传递:也称为传地址.方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值.

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com