Java入门基础学习笔记34——方法重载

发布于:2024-05-19 ⋅ 阅读:(149) ⋅ 点赞:(0)

方法重载:

一个类中,出现多个方法的名称相同,但是它们的形参列表是不同的,那么这个方法就叫方法重载。

例:

package cn.ensource.overload;

public class MethodOverloadDemo1 {
    public static void main(String[] args) {
        //目标:认识方法重载,掌握应用场景
        test();
        test(100);
    }

    public static void test() {
        System.out.println("test1");
    }

    public static void test(int a) {
        System.out.println("test2");
    }
}

方法重载的注意事项:

一个类中,只要一些方法的名称相同,形参列表不同,那么它们就是方法重载了,其他的都不管(如:修饰符、返回值类型是否一样都无所谓。)

形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。

package cn.ensource.overload;

public class MethodOverloadDemo1 {
    public static void main(String[] args) {
        //目标:认识方法重载,掌握应用场景
        test();
        test(100);
    }

    public static void test() {
        System.out.println("test1");
    }

    public static void test(int a) {
        System.out.println("test2");
    }

    void test(double a) {
        System.out.println("test3");
    }

    int test(int a, double b) {
        System.out.println("test4");
        return a;
    }

    int test(double b, int a) {
        System.out.println("test5");
        return a;
    }
}

以前的笔记:

方法重载是指同一个类中定义的多个方法之间的关系,满足下面两个条件的多个方法构成重载。

1)多个方法在同一个类中;

2)多个方法具有相同的方法名。

3)多个方法的参数不相同,类型不同或者数量不同。

方法重载的应用场景:

开发中,我们经常需要处理一类业务,提供多种解决方案,此时用方法重载来设计是很专业的。

案例导学:

开发武器系统,功能需求如下:

1)可以默认发一枚武器;

2)可以指定区域发射一枚武器;

3)可以指定区域发射多枚武器;

package cn.ensource.overload;

public class MethodOverloadDemo2 {
    public static void main(String[] args) {
        // 目标:掌握方法重载的应用场景
        fire();
        fire("美国");
        fire("菲律宾", 5);
    }

    public static void fire() {
        System.out.println("默认给岛国发射一枚武器!");
    }

    public static void fire(String country) {
        System.out.println("发射了一枚武器到" + country);
    }

    public static void fire(String country, int number) {
        System.out.println("发射了" + number + "枚武器到" + country);
    }
}

Java官方也使用方法重载。

在方法中单独使用return关键字:

return;可以用在无返回值的方法中,作用是:立即跳出来并结束当前方法的执行。

刚才我们做层层拦截的判断中就使用了return;

除数为0,那么就出现异常。那么我们可以使用判断语句,如果判断除数为0,那么就调用renturn;语句,程序结束,结束当前方法的执行。

package cn.ensource.overload;

public class MethodTestDemo {
    public static void main(String[] args) {
        System.out.println("Start");
        chu(10, 0);
        chu(10, 2);
        System.out.println("End");
    }

    public static void chu(int a, int b) {

        if (b == 0) {
            System.out.println("您的数据有误,不执行");
            return;
        }

        int c = a / b;
        System.out.println("除法的结果是: " + c);
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到