一.方法的重载overload
1.概念:
一个类中的,一个功能方法的多种体现形式(有不同的方法体)。就是同一个功能的方法,因为参数的不同,调用的具体的方法也不同。
2.基本原理:
当方法名称一致时,通过形式参数列表的不同来选择要执行的方法。
3.规则:
- 1、必须同一个类中。
- 2、方法名称必须一致。
- 3、参数列表必须不同。(顺序,个数,类型)
和static,public,返回值,void等等都没有关系。
4.优点:
1、简化了开发的压力
2、简化了记忆的压力
3、调用方法更方便,更简洁,又满足了不同的情况
示例代码
class A{
public void add(int i,int j){//1
}
public void add(double d1,double d2){//2
}
}
二.方法重写:override
1.概念:
继承结构中,子类将父类已有的方法,重新实现。(重新提供一个方法体)
如果在子类中,存在方法的重写,那么默认调用的是重写之后的方法。
2.规则:
- 1、继承结构中
- 2、重写方法声明必须和父类的一致:返回值类型,方法名,参数列表都必须相同。
- 3、访问权限,不能比父类更加严格:private-默认的-protected-public
- 4、重写方法不能抛出比父类更大的异常。
1.父类的方法,访问权限:public
子类重写,只能public
2.父类的方法,访问权限:protected
子类重写,protected,public
3.父类的方法,访问权限:default
子类重写,default,protected,public
4.父类的方法,访问权限:private
对于子类来讲,该方法不可见。
重载和重写比较
三.访问权限修饰符
1.种类
1、private:限于类的内部能够访问
2、默认的:(default)啥都不写就是默认的(缺省),限于同包下能够访问
3、protected:受保护的,限于同包下能够访问,不同包需要子类中才能够使用。
4、public:公共的, 没有限制。
2.从严到宽
private—> default—>protected—>public
3.使用原则
- 修饰类:只能是public和default
- 修饰成员:变量和方法:以上4个修饰符都可以。
- 局部变量,不能使用这些修饰符。