2022.3.9 方法调用重载
方法的组成部分
-
修饰符:可选,定义了该方法的返回类型,pubic,static,修饰符可以颠倒位置
-
返回值类型:方法可能会有返回值
-
方法名:方法的实际名称
-
参数类型
-
形式参数:在方法被调用时用于接收外界输入的数据
-
实参:调用方法时实际传给方法的数据
-
-
方法体:包含具体的语句,定义该方法的功能
-
修饰符 返回值类型 方法名(参数类型,参数名){
...
方法体
...
return 返回值;//一般写在方法中最后一层大括号
}
方法调用
-
当方法返回一个值的时候,方法调用通常被当做一个值
int max = max(10, 20); -
如果方法返回值是void,方法调用一定是一条语句
print();
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
方法的重载的规则
-
方法名称必须相同
-
参数列表必须不同(个数不同,或类型不同,参数排列顺序不同等)
-
方法的返回类型可以相同也可以不相同
-
仅仅返回类型不同不足以称为方法的重载
1 package com.xing.method; 2 3 public class Demo02 { 4 public static void main(String[] args) { 5 int max = max(10, 20); 6 System.out.println(max); 7 double max1 = max(2.5, 3.2); 8 System.out.println(max1); 9 int max2 = max(1, 2, 3); 10 System.out.println(max2); 11 12 } 13 14 public static int max(int num1,int num2) { 15 int result = 0; 16 if (num1 == num2) { 17 System.out.println("num1=num2"); 18 //程序在方法中碰到return,方法就结束了 19 return 0;//return除了返回结果还有终止方法的作用 20 } 21 if (num1 > num2) { 22 result = num1; 23 }else { 24 result = num2; 25 } 26 return result;//return一般写在方法中最后一层大括号 27 } 28 public static int max(int num1,int num2,int num3) { 29 int result = 0; 30 if (num1 == num2 && num2 == num3) { 31 System.out.println("num1=num2=num3"); 32 return 0; 33 } 34 if (num1 > num2) { 35 result = num1; 36 }else { 37 result = num2; 38 } 39 if (result < num3) { 40 result = num3; 41 } 42 return result;//return一般写在方法中最后一层大括号 43 } 44 public static double max(double num1,double num2) { 45 double result = 0; 46 if (num1 == num2) { 47 System.out.println("num1=num2"); 48 //程序在方法中碰到return,方法就结束了 49 return 0;//return除了返回结果还有终止方法的作用 50 } 51 if (num1 > num2) { 52 result = num1; 53 }else { 54 result = num2; 55 } 56 return result;//return一般写在方法中最后一层大括号 57 } 58 }
可变参数
-
在方法声明中,在指定参数类型后面加一个省略号(...)
-
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明
1 package com.xing.method; 2 3 public class Demo03 { 4 public static void main(String[] args) { 5 Demo03 demo03 = new Demo03(); 6 demo03.text(1,2,3,1,5); 7 8 } 9 // 可能传递多个i,具体不知道几个,可以用可变参数:加(...) 10 public void text(int... i){ 11 System.out.println(i[0]);//输出传入的第一参数 12 System.out.println(i[1]); 13 System.out.println(i[2]); 14 System.out.println(i[3]); 15 System.out.println(i[4]); 16 } 17 }

浙公网安备 33010602011771号