C语言中有指针和引用之分。指针表示一个变量中存放另一个变量的地址,通过地址可以另一个变量。引用指的是同一个地址,使用不同的名字来表示。
在java书籍中一般都会说java中使用的都是引用。其实java中说的引用就是C里面的指针,只不过省略了*号。
比如下面代码
public static void test(int[] a,int[] b)
{
int[] temp = a;
a = b;
b = temp;
}
a和b的值发生了交换。
public static void main(String[] args) {
int[] a = {1,2,3};
int[] b = {4,5};
test(a,b);
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
}
a和b没有发生变化。说明形参不是实参不是同一块地址。