1.方法的重写首先需要有继承关系,且为子类重写父类的方法
2.方法名必须相同
3.参数列表必须相同
4.修饰符的范围可以扩大但不能缩小,public>protected>default>private,即父类的属性可以从private改为public,但不能反过来
5.抛出的异常,范围可以被缩小,但不能被放大,如classnotfound->expection(大),即不可以
6.子类的方法和父类必须要一致
7.重写的原因
1.父类的功能子类不一定需要,或者父类的功能不一定满足子类的需要
2.alt+insert:override,即为子类快速重写父类的快捷键
8.如图A为B的子类,二者定义的方法皆是静态方法,在主程序中调用方法时,输出结果为A=>test,B=>test;由此可见,在静态方法的调用时,方法的调用只和左边定义的数据类型有关
9.如图,二这皆为非静态方法,结果输出为A=>test,A=>test;图中A类中含有一个向上的圈,B类中有两个向下的圈,这个即为代表方法的重写,在非静态的方法中,方法的调用与右边定义的类型有关,第二种即为子类重写父类的方法;图中的Override即为重写的快捷键