很简单的java基础,竟然有点遗忘了,是在不改,烂笔头记录一下。
1、当对象作为参数传递时,传递的是对象的引用,也就是对象的地址。值实时更新!(一般项目中常见的对象作为参数很多,记住对象会在方法中实时更新!!!因为方法中操作的是同一个对象)
public class ParameterTransfer {
public static void main(String[] args) {
String[] array = new String[] {"平安,你好"};
System.out.println("调用reset方法前array中的第0个元素的值是:" + array[0]);
reset(array);
System.out.println("调用reset方法后array中的第0个元素的值是:" + array[0]);
}
public static void reset(String[] param) {
param[0] = "hello, world!";
}
}
运行结果:
调用reset方法前array中的第0个元素的值是:平安,你好
调用reset方法后array中的第0个元素的值是:hello, world!
2、基本类型作为参数传递时,传递的是这个值的拷贝。无论你怎么改变这个拷贝,原值是不会改变的!
public class ParameterTransfer {
public static void main(String[] args) {
int num = 30;
System.out.println("调用add方法前num=" + num);
add(num);
System.out.println("调用add方法后num=" + num);
}
public static void add(int param) {
param = 100+param;
}
}
这段代码运行的结果如下:
调用add方法前num=30
调用add方法后num=30