什么是方法的重载
同一个类中方法的访问修饰符,方法名相同,参数列表不同(参数个数,参数顺序,参数类型),这里并没有强调方法的返回值,也就是说当只要满足上述三种条件,就成为方法的重载与方法的返回值无关。
public void sayHello(){}
public void sayHello(String name){
System.out.println("Hello" + name);
}
前面这两种就是方法的重载,满足访问修饰符相同,方法名相同,参数列表不同
看下面的这个例子是否是方法的重载
public void sayHello(){}
public int sayHello(){
return 0;
}
这两个不是方法的重载,虽然这两个方法的返回值类型不同但是不满足方法的参数列表不同,因此这两个方法不是方法的重载。
方法重载的意义就是当调用同一个方法的时候根据参数列表的不同,返回不同的返回值(返回的数值类型可能相同可能不同)。
举个例子:
你是一个铸锅匠,专门管铸锅,你会做铁锅,也会做铝锅。但是无论是铁锅还是铝锅,都用的是一个铸锅的方法(方法),铸出来的也都是锅(返回值),所不同的就是用的原料(传入参数)不一样,客户拿来了铁,你就得做铁锅,客户拿来了铝,你就做铝锅,客户啥也没拿,那好吧,你就调用默认方法给他铸口空气锅。
说明:返回值可以相同可以不同,因为决定调用哪个方法的因素仅仅是传入参数的类型而不是返回值的类型
方法的重载不仅构造方法可以使用,普通方法也可以使用。只要满足方法重载的条件即可