## 方法重载
- **方法重载**:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同,顺序不同,数据类型不同或者数量不同
- 方法重载与哪些因素无关? 1.与返回值类型无关 2.与参数名称无关 3.与修饰符无关
public static int getSum(int a, int b,intb) {
System.out.println("求两个int数字之和....");
return a + b;
}
错误做法
返回int类型,2返回double类型,其它没有区别,不能构成重载,因为方法重载与返回值类型无关
修饰符是public static,4修饰符是public,其它没区别,不能构成重载因为方法重载与修饰符无关
方法的参数传递 ---形式参数 实际参数
### 基础数据类型作为方法参数
形式参数: 在定义方法时,()中定义的变量,称为形式参数,定义时必须不能有值,方法被调用时,才会有值
实际参数: 在调用方法时,()中给定的参数(常量/变量),称为实际参数,如果是变量,则必须要有值
形式参数的改变,不会影响实际参数
### 引用数据类型作为方法参数
引用类型作为方法的形式参数 ---- 形式参数的改变,会影响实际参数
通过形参找到堆内存空间的数组,修改元素值后,再通过实参看到的是修改后的数组内容
原因:
引用变量保存的是堆内存空间的地址值,调用方法传递的是地址值,
导致多个变量指向同一个数组,只要有一个变量修改的数组的元素,
其它变量看到的都是修改后的元素
import java.util.Scanner;
public class Demo06Score {
public static void main(String[] args) {
(1)方法名称: getArray
(2)是否有未知数据参加运算: 没有,不需要定义参数
(3)是否产生结果数据: int[]
for (int i = 0; i < array.length; i++) {
if (i != array.length - 1) {
System.out.print(array[i] + ", ");
} else {
System.out.print(array[i]);
}
}
if (array[i] > max) {
max = array[i];
}
if (array[i] < min) {
min = array[i];
}
}
}