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组个变量分别存储在不同的空间中,所以互不影响,
这个程序中的交换函数无法起到交换功能!
函数形参个数可变
形参个数可变就是一个数组参数
函数重载
同名函数,只要形参列表不同即可重载