Java方法重载(作用规则及3种示例)

Java方法重载(作用规则及3种示例)-mikechen

Java重载定义

如果一个类中有多个具有相同名称但参数不同的方法,则称为方法重载。

备注:参数不同的含义,是仅参数个数不同 ,或者 类型不同,或者顺序不同。

 

Java重载的作用

1.方法重载的主要好处:就是不用为了对不同的参数类型或参数个数,而写多个函数。

2. 重载方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。

 

Java重载规则

判断方法重载的依据:

  1. 必须是在同一个类中;
  2. 方法名相同;
  3. 方法参数的个数、顺序或类型不同;
  4. 与方法的修饰符或返回值没有关系

重载的有效情况:

如下3种示例,都是有效的:

1.参数数量
add(int, int)
add(int, int, int)

2.参数的数据类型
add(int, int)
add(int, float)

3.参数的数据类型顺序。
add(int, float)
add(float, int)

 

重载的无效情况:

当我说参数列表时,我不是在说方法的返回类型,例如,如果两个方法具有相同的名称,相同的参数并且具有不同的返回类型,那么这不是有效的方法重载示例。

如下所示:

int add(int, int)
float add(int, int)

 

Java重载示例

我们还是来看示例,如下:

public class OverloadDemo {
 
    //1. test()方法第一次重载,没有参数
    void test() {
        System.out.println("No parameters");
    }
 
    //2. test()方法第二次重载,一个整型参数
    void test(int a) {
        System.out.println("a: " + a);
    }
 
    //3. test()方法第三次重载,两个整型参数
    void test(int a, int b) {
        System.out.println("a and b: " + a + " " + b);
    }
 
    //4. test()方法第四次重载,一个双精度型参数
    double test(double a) {
        System.out.println("double a: " + a);
        return a * a;//返回a*a的值
    }
}

备注:需要注意的是,参数列表的不同指的是参数的数量不同,或者在参数数量相同的情况下,相同位置的参数类型不同。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法