重载和重写的区别

165 阅读1分钟

重载
发生在同一个类中,
方法名必须相同,
参数类型不同,
个数不同,
顺序不同
方法返回值和访问修饰符可以不同,
发生在编译时

重载跟参数列表有关, 跟返回值和修饰符无关 image.png

重写: 发生在父子类中,
方法名、参数列表必须相同,
子类方法返回值范围\leq父类,
子类抛出异常的范围\leq父类,
子类修饰符范围\geq父类,
子类不能重新父类被private修饰的方法