• 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]已经被改变

 

 

 

 

posted on 2019-11-28 15:32  Chenjin123  阅读(195)  评论(0编辑  收藏  举报