面试:Java重载和重写的区别

首先,重载和重写都是多态的一种体现方式。
重载是编译期间的活动,重写是运行期间的活动。
     其次,重载是在一个类中定义相同的名字的方法,方法的参数列表或者类型要互相不同,但是返回值类型不作为是否重载的标准,可以修改可见性;
     重写是不同的,要求子类重写基类的方法时要与父类方法具有相同的参数类型和返回值,可见性需要大于等于基类的方法   
 
关于可见性:
子类重写父类方法,返回值为基本类型时,必须相同;返回值为引用类型时,要小于等于父类。 
同理,子类抛出的异常也要小于等于父类; 子类重写方法的修饰词要大于等于父类; 两小、一大、一同原则。
欢迎大家来我的 [Gitee仓库](https://gitee.com/jiffyzhang)参观。 同时欢迎关注我的同名公众号:就这样写(keepStarve),未来很大可能会活跃在此地。
原文地址:https://www.cnblogs.com/zhang-bobo/p/10649329.html