java方法重载.docx
上传人:一只****ua 上传时间:2024-09-15 格式:DOCX 页数:5 大小:11KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

java方法重载.docx

java方法重载.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

java方法重载java方法重载对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数、类型、顺序至少有一个不一样,这时候局构成方法重载。方法重载示例publicclassTest{publicvoida(){};publicvoida(inti){};}说明:在Test类中有两个方法,名字都相同,都是a。在调用方法a时,如果不传参数,则系统会自动调用第一个方法a,如果传入一个int类型的参数,则系统调用第二个方法a。2publicclassTest{publicvoida(inti){};publicvoida(Stringj){};}说明:在Test类中有两个同名的方法a。在调用方法时,如果传入一个int类型的参数,则会自动调用第一个a方法,如果传入一个String类型的参数,则会自动调用第二个方法a。3publicclassTest{publicvoida(inti,Stringj){}publicclassa(Stringj,inti){}}说明:在Test类中有两个同名的方法。在调用方法时,如果传入的第一个参数类型为int,第二个参数类型为String,则自动调用第一个方法a。如果传入的第一个参数为String类型,第二个参数类型为int,则自动调用第二个方法a。什么是方法的'重载?方法重载是以统一的方式处理不同数据类型的一种手段。怎样构成方法的重载?方法名相同,形参不同。而形参的不同又表示在:1).形参的个数不同2).形参的类型不同3).形参的顺序不同注意事项1.如果两个方法的返回值不同,而其他都相同。这个时候并不构成方法的重载。在编译的时候会报错:示例代码(错误):Test.java复制代码代码如下:/*返回值的不同并不能构成方法的重载*/publicclassTest{publicstaticvoidmain(String[]args){}}classA{publicvoidf(){//返回值为void}publicintf(){//返回值为int,其他和上面的f()方法是一样的return1;}}错误信息:复制代码代码如下:Test.java:12:error:methodf()isalreadydefinedinclassApublicintf(){^1error2.构造方法和普通方法一样,也可以方法重载。示例代码(正确):Test.java复制代码代码如下:/*方法的重载*输出结果:*publicA(){}这个构造方法被调用了*publicA(inti){}这个构造方法被调用了*publicvoidf(){}这个构造方法被调用了*publicvoidf(inti){}这个构造方法被调用了*/publicclassTest{publicstaticvoidmain(String[]args){Aaa1=newA();//调用9行那个方法Aaa2=newA(1);//调用13行那个方法aa1.f();//调用17行那个方法aa2.f(1);//调用21行那个方法}}classA{publicA(){//9行System.out.printf("publicA(){}这个构造方法被调用了\n");}publicA(inti){//13行System.out.printf("publicA(inti){}这个构造方法被调用了\n");}publicvoidf(){//17行System.out.printf("publicvoidf(){}这个构造方法被调用了\n");}publicvoidf(inti){//21行System.out.printf("publicvoidf(inti){}这个构造方法被调用了\n");}}