一、重写(overriding)
1)定义:子类重写父类的方法,通俗而言即为重新改写,将一个已有事物进行改变以适应新要求
2)要求:①父类若有static,private,则该方法不能重写;子类重写后的方法不能加static。
②方法名、方法参数(个数、数据类型)必须相同;
③重写的子类方法的修饰范围必须大于父类方法的修饰范围(public > protected > friendly > private);
④重写子类得返回值需要和父类一致,但若返回值为引用数据类型则子类要么和父类相同,要么为返回值得子类,但不能是基本数据类型。
3)特点:①当父类方法无法十分贴合需求时,则需要进行重写
②java会对重写的方法进行标注——“@Override”
③重写是运行时的多态性
④在程序执行时,子类的方法将覆盖父类的方法
二、重载(overloading)
1)定义:指的是在一个类中,有两个及以上的方法,其方法名相同,但是形参列表不同
2)要求:①方法名相同;②形参列表不同
3)特点:①不用给多个方法起名;②会自动根据所提供的参数选择形参配对的方法。③重载为编译的多态性