java 方法重载

发布于:2022-07-17 ⋅ 阅读:(154) ⋅ 点赞:(0)

学过前端TS的朋友对这个有一些概念
但TS的重载和java依旧不太一样,准确的说是因为TS受到前端js语法限制 无法完全的复现后端语言的方法重载
我们先定义两个一模一样的函数
在这里插入图片描述
这里可以明显看到 我们的编辑器依旧报错了 重名方法不能这样用 但jjava的方法确实是可以重名的 只要参数不同
参考代码如下

public class index {
    public static void main(String args[]) {
        int naint = 1;
        String mint = mint(naint, 100);
        String mintdan = mint(naint, 100, 500);
        System.out.println(mint);
        System.out.println(mintdan);
    }
    public static String mint(int number1, int number2){
        int dom = number1 + number2;
        return "number1加number2等于"+dom;
    }
    public static String mint(int number1, int number2, int number3){
        int dom = number1 + number2 + number3;
        return "number1加number2加number3等于"+dom;
    }
}

运行效果如下
在这里插入图片描述
我们可以很明显的看到 我们传了三个参数的 调用了 接收三个参数的mint 而传了两个 mint的 调用了 接收两个参数的mint

除了参数数量不同 我们还可以尝试常熟类型不同
参考代码如下

public class index {
    public static void main(String args[]) {
        int naint = 1;
        String mint = mint(naint, 100);
        String mintdan = mint(naint, "你好");
        System.out.println(mint);
        System.out.println(mintdan);
    }
    public static String mint(int number1, int number2){
        int dom = number1 + number2;
        return "number1加number2等于"+dom;
    }
    public static String mint(int number1, String String1){
        String dom = number1 + String1;
        return "返回结果"+dom;
    }
}

在这里插入图片描述
可以看出 虽然两个mint 方法 都接收两个参数 但类型不同 一个接收两个数字类型的参数 一个接收一个数字类型和一个字符串类型的参数

那么如果 你传递两个都是数字 自然就会走到都是数字的mint里 而你传一数字 一字符串的参数 就会走到第二个mint
也正因为可以这样写 所有语法会验证 如果你传的参数 类型 顺序 数量 有一个对不上 编辑器就会报错
相比于前端 java的校验会强很多 所以大家还是写规范一点哦

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

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