- Java函数和函数重载
1 /* 2 函数定义: 3 public static 返回类型 func(参数){ 4 方法体; 5 } 6 7 函数重载 8 在调用时,Java虚拟机会通过参数的不同来区分同名的函数 9 满足: 10 1.多个函数在同一个类中 11 2.多个函数具有相同函数名 12 3.多个函数的参数不相同(类型不同或者数量不同) 13 注意:不能通过返回值来判定两个函数是否构成重载 14 15 函数传参 16 1.传递基本类型 17 3.传递引用类型 18 19 */ 20 21 public class func { 22 23 //函数重载 24 //func1:两整数之和 25 public static int sum(int a,int b){ 26 return a+b; 27 } 28 //func2:三整数之和 29 public static int sum(int a,int b,int c){ 30 return a+b+c; 31 } 32 //func3:两浮点数之和 33 public static double sum(double a,double b){ 34 return a+b; 35 } 36 37 public static void main(String[] args) { 38 System.out.println(sum(5,10)); //fun1 39 System.out.println(sum(1,2,3)); //fun2 40 System.out.println(sum(1.2,1.8)); //fun3 41 } 42 }
- 函数参数传递:
1.传递基本类型(传值)
将函数参数压入堆栈,并进入函数,在函数栈空间创建一个新的number变量并把200赋给它
函数返回,释放change栈空间,在main函数栈空间里的number变量值未被改变
2.传递引用类型
将函数参数压入堆栈,并进入函数,在函数栈空间创建一个新的arr数组变量并把堆内存数组的首地址赋给它
函数返回,释放change函数栈空间,在堆内存的数组元素arr[1]已经被改变