【面向对象】方法重载
方法重载
1)方法重载:在同一个类的内部,方法名相同,参数不同
参数不同:指参数的类型、顺序(类型)、个数不同
跟参数的名字无关
案例:
public class Demo10 {
//设计一个计算器类,实现加法的操作,通过方法重载的方式,让类实现不同数据(int,double)的加法运算
public static void main(String[] args){
AddUtil addUtil = new AddUtil();
int sum1 = addUtil.add(12, 43);
System.out.println("两个整数相加:" sum1);
double sum2 = addUtil.add(23, 89.3);
System.out.println("一个int一个double相加:" sum2);
double sum3 = addUtil.add(23.23, 43);
System.out.println("一个double一个int相加" sum3);
double sum4 = addUtil.add(23.78, 89.3);
System.out.println("两个double相加" sum4);
}
}
class AddUtil{
int add(int a, int b){
return a b;
}
double add(int a, double b){
return a b;
}
double add(double a, double b){
return a b;
}
double add(double a, int b){
return a b;
}
}
2)方法重载好处:方便用户调用程序
eg:System.out.println("你好");
System.out.println(232);
System.out.println(423.3f);
System.out.println(‘你‘);
System.out.println(true);
println:sun写的方法重载,体现了方法重载的好处,我们可以通过println输出不同类型的数据,对于我们,只需要雇一个println的名字,就可以输出任何的数据。
3)方法重载属于多态的一种。
面向对象编程3大编程思想:封装、继承、多态
多态:事物在不同的情况,显示不同的特性
eg:很像变色龙
println方法,根据不同的参数,内部调用同名的不同的方法,输出不同类型的数据,体现了多态。
花:花钱,花心,梅花
4)返回值跟方法重载没有任何的关系,方法重载只与参数有关(一个类内部,方法名相同,参数不同)
5)构造方法支持方法重载:当创建对象(new)根据构造方法参数不同,调用不同的构造方法
eg: class User{
String name;
int
age;
double salary;
User(String name){
this.name
= name;
}
User(String name, int age, double salary){
this.name = name;
this.age = age;
this.salary = salary;
}
}
main(){
User user = new User("刘谦");
User user1 = new
User("刘",18,49999);
}
构造方法重载:创建对象的时候,根据参数的不同去调用与参数对应的构造方法。