重写总结:
1.发生在父类和子类之间。
2.方法名,参数列表,返回类型相同。
3.访问修饰符的限制一定要大于父类中重写方法的访问修饰符。(public>protected>default>private)
4.重写方法一定不能抛出新异常。或者比被重写方法申明更加宽泛的检查型异常。
重载总结:
1.重载Overload是一个类中多态性的一种表现。
2.重载要求同名方法的参数列表不同。(参数类型,参数顺序,参数个数)
3.重载的时候,返回值的类型可以相同也可以不同。
面试中说说重载和重写的区别?
方法的重载和重写都是实现多态的方式。区别在于重载实现的编译时的多态性;重写是运行时的多态性。
重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。
————————————————