1.重写(Override):即子类将继承自父类的方法重写了一遍。
注意:重写是在方法名、参数列表、返回值类型都相同的情况下,对方法体进行的修改
1.在子类中根据需要对从父类中继承来的方法进行改造,也叫做方法的重置、覆盖。
2.重写以后,创建子类对象后,通过子类调用父类中同名同参数的方法时实际执行的是子类重写父类的方法。
重写的规定:方法的声明:权限修饰符 返回值类型 方法名(形参列表)
1.子类中重写的方法名和形参列表与父类被重写的方法名和形参列表相同。
2.子类重写的方法的权限修饰符不小于父类方法的权限修饰符。
3.特殊情况:子类中不能重写父类声明为private权限的方法。
4.返回值类型:父类被重写方法的返回值类型为void,子类重写的方法只能为void;父类被重写的方法的返回值类型A类型,则子类中重写的方法返回值类型可以是A类型或A类的子类;若父类被重写方法返回值类型为基本数据类型,则子类重写的方法必须是相同的基本数据类型。
5.子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型。
6.子类和父类中同名同参数的方法要么都声明为非static(考虑重写),要么都声明为static(不是重写)
2.重载(Overload):同名的方法不同的参数列表视为重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。(方法名相同,参数列表不同)
1.两同一不同:同一个类,相同方法名;参数列表不同:参数个数不同,参数类型不同。
2.判断是否重载:与方法的权限修饰符、返回值类型,形参变量名、方法体都没有关系
3.在通过对象调用方法时,如何确定某一个指定的方法:根据方法名的参数列表给定。