重写(覆盖,Override)和重载(Overload)的区别
发布网友
发布时间:2022-11-27 10:13
我来回答
共1个回答
热心网友
时间:2023-10-16 08:23
override(重写)
1.方法名、参数、返回值相同。
2.子类方法不能缩小父类方法的访问权限。
3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4.存在于父类和子类之间。
5.方法被定义为 final 不能被重写。
overload(重载)
1.参数类型、个数、顺序至少有一个不相同。
2.不能重载只有返回值不同的方法名。
3.存在于同类中。(也有说可以发生在父类和子类中的,他们的想法是子类继承了父类的所有方法,子类再次声明一个同名的方法,改变参数类型也算重载,但我个人认为,这还是发生在子类内部的重载。)