Java面试题(六):重载和重写的区别
1. 重载和重写的区别
重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。
重写:发生在父子类中,方法名、参数必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。
可以看出重载和方法返回值无关。
重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。
重写:发生在父子类中,方法名、参数必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。
可以看出重载和方法返回值无关。