Java中重载与重写区别

来源:互联网 发布:php教学网站 编辑:程序博客网 时间:2024/04/29 17:33

                重载是指在同一个类中重新定义相同函数,即函数名须相同,但参数个数或类型,返回值类型可以不同。重载属于静态绑定,程序在编译期间就可以确定调用哪个函数。主要用于相同目的的操作,只是操作数个数及类型不同而已,如对数据求和,只是因为数据类型和个数不同而去重新定义其它名称的函数对程序的可读性与理解性降低很多。

                重写是指在两个类(A、B)中,且B类继承与A类,对A内中的方法进行重新的定义,从而实现与A不同的操作,而方法的参数类型及个数还有返回值必须相同。重写属于动态编译,程序在运行期间才能决定调用哪个方法,从而实现多态。但A类中的方法的访问权限必须不小于重写方法的权限,且A类的方法的权限不能为private,否则重写的方法只是作为一种新方法,达不到期望。重写方法也不能比原方法抛出更多异常或异常范围更广。

0 0
原创粉丝点击