值传递机制:(敲黑板!记重点)
如果参数是基本数据类型,此时实参赋给形参的是实参真实储存的数据值。
如果参数是引用数据类型,此时实参赋给形参的是实参储存数据的地址值。
什么的基本数据类型
如果参数是基本数据类型那么传的是变量的值,例如: int a= 10; 那么传过去的就是10!
什么是引用数据类型?
如果参数是引用数据类型(类,数组,接口),那么传的就是变量的值,例如: Point param = new
Point(); 那么传过去的是point 这个变量的值 ,而不是说Point 这个对象!而point 这个变量的值,其实就是Point
对象在内存中的地址(也叫引用)!
方法的形参的传递机制,值传递
1、形参,方法定义时,声明的小括号内的参数
2、实参,方法调用时,实际传递给形参的数据就叫实参
凡是new出来的都在堆内存中,只要出现一个new那就给他开辟一个内存空间。
附上代码:
public class TransferTest3 {
public static void main(String[] args) {
TransferTest3 test=new TransferTest3 ();
test.first();
}
class Value{
int i=15;
}
public void first() {
int i=5;
Value v=new Value();
v.i=25;
second(v,i);
System.out.println(v.i);
}
public void second(Value v,int i) {
i=0;
v.i=20;
Value val=new Value();
v=val;
System.out.println(v.i+" "+i);
}
}