1
一个普遍的认识是:Java函数中的参数如果是简单类型,则传值;如果是Java对象,则传引用。其实,这是一个误解。
2 在Java中,函数都是都是传值。
3 一、对于简单类型变量,该变量就是一个具体的值,则传的是该变量的副本值。如:
4 int i = 0 ;
5 int j = 0 ;
6 i = add(i,j);
7
8 二、对于对象类型变量,该变量的值是一个地址,传递的就是这个地址的“值”的复制品。如:
9 Student stu = new Student();
10 addAge(stu);
11
总结:
2 在Java中,函数都是都是传值。
3 一、对于简单类型变量,该变量就是一个具体的值,则传的是该变量的副本值。如:
4 int i = 0 ;
5 int j = 0 ;
6 i = add(i,j);
7
8 二、对于对象类型变量,该变量的值是一个地址,传递的就是这个地址的“值”的复制品。如:
9 Student stu = new Student();
10 addAge(stu);
11
1、简单类型的值是这个值的复制品,即另一个简单值;对象的值是一个地址,传递的就是这个地址的“值”的复制品。
2、其实,争论的论点是“地址的值”,这是一个值,还是一个引用。