Java的函数
例子
public class Test{ // 主函数 public static void main(String[] args){ int a = 4; int b = 5; swap(4,5); } // 交换函数 public static void swap(int c,int d){ int temp = 0; temp = c; c = d; d = temp; } // 形参个数可变的函数 public void test(int a,String... names){ for(String temp:names){ System.out.println(temp); } } // 重载函数 public void test(int a,int b,int c){ } }实参和形参
实参:实际传入函数的变量,(上面程序a,b是实参)
形参:函数的局部变量参数,(上面程序c,d是形参)
函数参数传递机制
java是采用值传递的机制,所谓值传递就是将实参复制一份传入到方法内,而实参本身不受影响,上面的程序
实参是a,b,它复制给形参c,d!
函数参数传递机制内存解析
当执行swap函数时,系统进入swap函数,并将main函数中的a,b变量作为参数值传入swap,传入swap方法
的只是a,b的副本,而不是a,b本身,进入swap方法后系统中产生了4个变量,系统分别为main函数和swap函数
开辟了两个栈,分别存储main栈(a,b)和swap栈(c,d)中,2组个变量分别存储在不同的空间中,所以互不影响,
这个程序中的交换函数无法起到交换功能!
函数形参个数可变
形参个数可变就是一个数组参数
函数重载
同名函数,只要形参列表不同即可重载
