重写:(Overriding)
一、重写要求:
1、方法为非静态。
2、方法可以被子类访问。
3、非 private 方法和非 final 修饰的。
二、重写步骤:
1、方法名必须相同。
2、参数列表必须相同。
3、返回类型相同。(JDK7以后可以不同,但是必须具有父子关系)
4、重写后的访问权限只能更加开放,不能比父类还低。
重载:(Overloaing)
1、方法名必须相同。
2、参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)。
3、方法的返回类型可以不同可以相同。
4、仅仅返回类型不同不足以成为方法的重载。
覆盖:
覆盖即是重写。发生在父子类的重写。
重写与重载的区别:
1、重写是动态绑定(运行时确定),重载是静态绑定(编译时确定)。
2、重写是父子类的多态性表现,重载是一个类的多态性表现。