java中方法参数传递方式是按值传递。所谓值传递,就是将实际参数值的副本(复制品)传入方法内,而自己本身不会受到任何影响。
如果参数是基本类型,传递的是基本类型的字面量值的拷贝。
如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。
测试下就知道了
public static void main(String[] args) {
int a = 1;
String str = "abc";
changeValue(a, str);
System.out.println(a);
System.out.println(str);
}
private static void changeValue(int a, String str) {
a = 2;
str = "123";
}
结果:
1
abc
所以是值传递
(如果是引用的类,然后又set、get方法就另当别论了)