学过前端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 后查看