Java方法重载浅谈

Java方法重载浅谈

目录:

  1. 方法重载的定义
  2. 方法重载的满足条件
  3. 方法重载的传递
    • 基本类型
    • 引入类型
  4. 方法重载的好处

方法重载的定义以及满足条件:

定义:

方法重载指同一类中定义多个方法之间的联系;

满足方法重载的条件:

  1. 多个方法在同一个类中
  2. 多个方法具有相同的方法名
  3. 多个方法的参数不同、类型不同、数量不相同

条件解释:

在同一个Moverloading类下,并且多个相同的方法名的类型不同-->int、boolean、void(无类型)

package 方法;

public class Moverloading {
    public static void main(String[] args) {
        public static void getmax(){
            //方法体
        }
        
        public static int getMax(){
            //方法体
        }
        
        public static boolean getmax(){
            //方法体
        }
    }
}

多个方法的参数不同、类型不同、数量不同:

参数不同:

package 方法;

public class Moverloading {
    public static void main(String[] args) {
        public static void getmax(String name){
            //方法体
        }

        public static void  getMax(int age){
            //方法体
        }
    }
}

类型不同:

package 方法;

public class Moverloading {
    public static void main(String[] args) {
        public static void getmax(String name){
            //方法体
        }
        
        public static void getMax(int age){
            //方法体
        }
    }
}

数量不同:

package 方法;

public class Moverloading {
    public static void main(String[] args) {
        public static void getmax(String name){
            //方法体
        }
        
        public static void getMax(String name,int age){
            //方法体
        }
    }
}

方法重载的传递:

例子:

package 方法;

public class functTansale {
    public static void main(String[] args) {
        int num  =100;
        System.out.println(num);
        System.out.println("-------------");
        int callback = Change(num);
        System.out.println(callback);
    }
    public static int  Change(int num){
        num = 200;
        return num;
    }
}

在数组中传递:

package 方法;

public class arryTranslate {
    public static void main(String[] args) {
        int[] arr = {10,20,30};
        System.out.println(arr[1]);
        System.out.println("---------");
        change(arr);
        System.out.println(arr[1]);

    }
    public static void change(int[] arr){
        arr[1] = 100;

    }
}

重载的好处:

不用为了对不同的参数类型或参数个数,而写多个函数,系统可以自动匹配;

多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。

这样我们在调用的时候,就不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。重载比if...else要优雅,减少了if...else部分的代码。


练习:

数组遍历(应用)

数组最大值(应用)

代码链接:https://github.com/xbhog/JavaBasis/blob/master/JavaStudy/src/day5/ArrTraveMax.java

结束:

之前方法重载部分理解有些问题,解决后记录下来,后面方便理解,不对之处欢迎指出,谢谢!

重载的具体内容参考:https://www.cnblogs.com/xbhog/p/13454021.html

posted @ 2020-10-20 20:00  Xbhog  阅读(205)  评论(0编辑  收藏  举报