java 方法重载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java 方法重载
在Java中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded),这个过程称为方法重载(method overloading)。方法重载是Java实现多态性的一种方式。
调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法,这就是多态性。如果以前从来没有使用过一种允许方法重载的语言,这个概念有点不好理解,但方法重载是Java最激动人心和最有用的特性之一。方法重载是让类以统一的方式处理不同类型数据的一种手段。
当一个重载方法被调用时,Java用参数的类型和(或)数量来表明实际调用的重载方法的版本。因此,每个重载方法的参数的类型或数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java调用一个重载方法时,参数与调用参数匹配的方法被执行。
在使用重载要注意以下的几点:
●在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,
不同的参数顺序。
●不能通过访问权限、返回类型、抛出的异常进行重载。
●方法的异常类型和数目不会对重载造成影响。
●对于继承来说,如果某一方法在父类中的访问权限是priavte,那么就不能在子类对其
进行重载,如果定义,也只是定义了一个新方法,而不会达到重载的效果。
下面通过创建一个实例,来说明Java中方法的重载。示例代码如下所示。
图6-18 方法重载执行
从上述程序可见,out()被重载了四次。第一个版本没有参数,第二个版本有一个整型参数,第三个版本有两个整型参数,第四个版本有一个double型参数。当一个重载的方法被调用时,Java在调用方法的参数和方法的自变量之间寻找匹配。但是,这种匹配并不总是精确的。在一些情况下,Java的自动类型转换也适用于重载方法的自变量。