java重载
引入
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦。
所以有了方法的重载(Overload)
最常用的重载例子
System.out.println()方法就是一个最好的重载的例子
1 | |
所以几乎所有的类型的数据我们都可以调用println来打印看看
使用重载的条件
方法重载与下列因素相关:
参数个数不同
参数类型不同
参数的多类型顺序不同
方法重载与下列因素无关:
- 与参数的名称无关
- 与方法的返回值无关
返回值不能作为重载的条件
void f() {}
int f(){return 1;}
只要编译器可以根据语境明确判断出语义,比如在int x = f()中,那么的确可以根据此区分重载方法。不过,有时你并不关心方法的返回值,你想要的是方法调用的其他效果(这常被称“为了副作用而调用”),这时你可能会调用方法而忽略其返回值,所以像
f();
这样的调用方法,这时java如何才能判断该调用哪一个f()呢?别人该如何理解这种代码呢?
所以行不通。 —— 《Java编程思想》
java重载
https://blog.wangxk.cc/2020/08/17/java重载/