前段时间和朋友的交流中也谈到了这个问题,朋友叫我回答Java中重载和重写的区别,虽然是Java基础内容,自己也懂如何正确的使用,但回答上来仍然是不完善,很多细节的地方还是都遗漏了,在此就打算总结一下,以便加深印象。
重载:发生在同一个类中,方法名相同,参数列表不同(包括顺序不同),返回值可以不同,访问修饰符也可以不同,发生在编译期。
重写:发生在父子类中,方法名相同,参数列表相同,返回值的范围小于等于父类,抛出异常的范围小于等于父类,访问修饰符范围大于等于父类;
注意:
前段时间和朋友的交流中也谈到了这个问题,朋友叫我回答Java中重载和重写的区别,虽然是Java基础内容,自己也懂如何正确的使用,但回答上来仍然是不完善,很多细节的地方还是都遗漏了,在此就打算总结一下,以便加深印象。
重载:发生在同一个类中,方法名相同,参数列表不同(包括顺序不同),返回值可以不同,访问修饰符也可以不同,发生在编译期。
重写:发生在父子类中,方法名相同,参数列表相同,返回值的范围小于等于父类,抛出异常的范围小于等于父类,访问修饰符范围大于等于父类;
注意: