6方法

59 阅读2分钟
## 方法重载
-   **方法重载**:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。

    -   多个方法在同一个类中
    -   多个方法具有相同的方法名
    -   多个方法的参数不相同,顺序不同,数据类型不同或者数量不同 
    -   方法重载与哪些因素无关? 1.与返回值类型无关 2.与参数名称无关 3.与修饰符无关
        //正确做法1.定义一个获取两个int数字之和的方法
    public static int getSum(int a, int b,intb) {
        System.out.println("求两个int数字之和....");
        return a + b;
    }  
    错误做法
     /*public static double/int method(int a, double b) {
        return 0.0;
    }*/
      返回int类型,2返回double类型,其它没有区别,不能构成重载,因为方法重载与返回值类型无关
    /*public int method(int a, double b) {
        return 0;
    }*/
    修饰符是public static,4修饰符是public,其它没区别,不能构成重载因为方法重载与修饰符无关
  方法的参数传递 ---形式参数 实际参数
   ### 基础数据类型作为方法参数
     形式参数:  在定义方法时,()中定义的变量,称为形式参数,定义时必须不能有值,方法被调用时,才会有值

    实际参数:  在调用方法时,()中给定的参数(常量/变量),称为实际参数,如果是变量,则必须要有值 
        形式参数的改变,不会影响实际参数
        ### 引用数据类型作为方法参数
         引用类型作为方法的形式参数 ---- 形式参数的改变,会影响实际参数
        通过形参找到堆内存空间的数组,修改元素值后,再通过实参看到的是修改后的数组内容 
    原因:
        引用变量保存的是堆内存空间的地址值,调用方法传递的是地址值,
        导致多个变量指向同一个数组,只要有一个变量修改的数组的元素,
        其它变量看到的都是修改后的元素
        import java.util.Scanner;
 
public class Demo06Score {
    public static void main(String[] args) {
                (1)方法名称:                getArray
                (2)是否有未知数据参加运算:    没有,不需要定义参数
                (3)是否产生结果数据:          int[]
       
        //2.使用for循环遍历数组
        for (int i = 0; i < array.length; i++) {
            //2.1 如果当前元素不是最后一个元素,打印 元素 + ", ",不换行
            if (i != array.length - 1) {
                System.out.print(array[i] + ", ");
            } else {
                //2.2 如果当前元素是最后一个元素,打印 元素,不换行
                System.out.print(array[i]);
            }
        }  
            //6.只要当前元素 大于 max,说明max中已经不是最大的了
            if (array[i] > max) {
                //7.把当前元素值 赋值给max
                max = array[i];
            }
            //8.只要当前元素 小于 min,说明min中已经不是最小的了
            if (array[i] < min) {
                //9.把当前元素值 赋值给min
                min = array[i];
            }
        }    
}