java面向对象(3)
方法的重载(overLoad)
概念
在同一个类中,具有相同方法名的一组方法,但方法的参数列表不一样,这样的一组方法称为方法的重载
只看 方法名(数据类型 )
参数列表不一样的情况
- 参数个数不一样
- 对应位置的参数的数据类型不一样
参数列表不一样和参数名无关!
方法重载与返回值的类型无关
作用
相同功能的一组方法,取相同的方法名,减少记忆内容,让开发者不需要重复想不同的方法名,让条用着不需要记忆一堆方法名
jdk中不能同时存在两个相同的方法
判断步骤:
- 看方法名
方法名名不相同,则方法一定不同
- 看参数列表
方法名相同的时候,看参数列表;
参数列表的中参数个数不同,则两个方法一定不同;
参数列表的中参数个数相同,则对应位置的参数的数据类型
如果满足方法名相同,而参数列表不同,则构成 方法的重载
//以下方法全都是方法的重载
public int add(int num1,int num2){
return num1+num2;
}
public double add(double num1,double num2){
return num1+num2;
}
public int add(int num1,int num2,int num3){
return num1+num2;
}
public double add(int num1,double num2){
return num1+num2;
}
public double add(double num1,int num2){
return num1+num2;
}
方法的重写(override)
特征
- 子类重写父辈类的方法
- 方法的方法名,参数列表与父辈被重写的要保持一致
- 子类重写的方法的访问修饰符,要比父类被重写的方法访问修饰符一样,或者比它大
- 子类重写的方法返回值类型,要比父类被重写的方法返回值类型一样,或者比它大
调用
被重写的方法的调用情况:
父类对象只能调用自己的方法,不能调用子类的方法
二者的区别
方法的重载 | 方法的重写 |
---|---|
作用在同一个类中 | 子类对父类方法的重写 |
方法名一样 | 方法名一样 |
参数列表一定不一样 | 参数列表必需保持一致 |