重载java,java重写和重载的区别
过载和重写的区别是什么?
的重载和重写都是实现多态性的方式,区别在于前者实现编译时的多态性,后者实现运行时的多态性。
重载发生在一个类中,如果同名方法具有不同的参数列表(类型、数量和顺序),则视为重载。
重写发生在子类和父类之间。 在重写中,子类重写后的方法与父类重写的方法具有相同的返回类型,比父类重写的方法更容易访问,并且不能声明比父类重写的方法更多的异常(理查德置换原则)。 过载对返回类型没有特殊要求。
方法重载规则:
方法名称匹配,参数列表中参数的顺序、类型和个数不同。
重载存在于父类、子类和类中,与方法的返回值无关。
可以抛出不同的异常,并且可以具有不同的修饰符。
方法重写规则:
参数列表、方法名称和返回类型必须完全匹配;
结构方法不可改写;
无法重写声明为final的方法
声明为static的方法中不存在重写(只有重写和多态性联合才有意义);
权限不能低于父类。
重写后的方法不能抛出更宽的异常;
免费领取Java大厂商面试试题https://blog.csdn.net/kaikeba/article/details/111594371