Overload和Override的区别

来源:互联网 发布:淘宝客有没有权重 编辑:程序博客网 时间:2024/06/06 00:42

Override 重写:
重写Override是覆盖了一个方法,实现不同的功能,主要在子类继承父类的时候,重写实现父类中的方法。
1.重写方法参数必须完全与被重写的方法相同
2.重写方法的修饰符一定要大于被重写方法的修饰符(public>protect>default>private)
3.重写方法的返回值必须与被重写方法的返回值类型一致
4.被重写的方法的类型不能为private,否则在子类中只是定义了一个新方法,并没有被重写,private的声明是只能被本类使用,所以子类无法继承到。
5.静态方法不能被重写为非静态方法(会编译出错)

Overload重载:
1.在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样)
2.不能通过访问权限、返回类型、抛出的异常进行重载。
3.方法的异常类型和数目不会对重载造成影响。
4.不能重载只有返回值不同的方法名。

方法的重写(Override)和重载(Overload)是Java多态性的不同表现。
重写(Override)是父类与子类之间多态性的一种表现,而重载(Overload)是一个类中多态性的一种表现。

0 0
原创粉丝点击