1.java中不存在引用类型传递,全部都是值传递。
下面从基本数据类型和引用数据类型两种角度进行说明
基本数据类型:比如说主函数有一个int a=10;要传入某方法public.....(int b )中,就会把a的值复制一份传入给一个新的变量b,所以在方法中怎样对b修改都不会影响到a的值。也就是a的大小。
引用数据类型:比如说要向某个方法中传入一个对象,引用数据类型传递分为两个部分,引用变量和对象,这两个部分放在不同的地方,引用变量在栈中,而对象是放在堆内存中的,引用变量指向对象。传的时候会将引用变量的值复制一份传入给方法中,而引用变量的值也就是其所指向对象的地址,由于引用变量的值相同,也就是所指向地址值相同,所以可以在方法中修改引用变量执行对象的具体内容。值传递体现在无论怎样都不会改变引用变量的值,也就是引用变量所指向的地址。
注意引用类型String a=“abc”;这个a的值也是个地址,但是由于其对象“abc”是在常量池中存放的,所以这个是不可修改的。相当于a就对应着“abc”。