示例1
要点
java语言当中方法调用的时候涉及到参数传递的问题,参数传递实际上传递的是变量中保存的具体值。
int i=10;
add(i); //等同于: add (10);
示例代码
public class Test01 {
public static void main (string [] args) {
int i =10;
add(i); //add方法调用的时候,给add方法传递了一个变量i,到底传的是什么?
System.out.println ( "main -->"+i);//10
}
public static void add (int i){
i++;
System. out.println( "add -->"+i);
}
}
内存图分析

示例二
要点
方法调用的时候,涉及到参数传递的问题,传递的时候,java只遵循一种语法机制,就是将变量中保存的"值"传递过去了,
只不过有的时候这个值是一个字面值10,有的时候这个值是另一个java对象的内存地址0x1234
示例代码
public class Test02{
public static void main(String[] args) {
User u=new User(20);
//User u=0x1234;
//传递u给add方法的时候,实际上传递的是u变量中保存的值,只不过这个值是一个java对象的内存地址
add(u);//等同于:add (0x1234);
system.out.println ( "main-->" + u.age) ; //21
}
public static void add (User u){
u.age++;
system.out.println ( "add-->" +u.age) ;//21
}
}
class User{
//实例变量
int age;
//构造方法
public User (int i){
age = i;
}
}
内存图分析
