JSE-04(声明和使用方法)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章声明和使用方法讲师:李贺飞本章内容第一节方法的声明和调用第二节参数的值传递第三节重载方法第一节方法的声明和调用方法声明和调用什么是方法(函数)?方法是类或对象行为特征的抽象,也称为函数。Java里的方法不能独立存在,所有的方法必须定义在类里。方法声明语法:修饰符返回值类型方法名(参数类型形参1,参数类型形参2,….){程序代码return返回值;}方法的返回类型•声明方法时,可以为其指定返回类型:–变量的数据类型–void(表示无返回值)•方法在执行后,需返回指定类型的值(void除外)–使用return语句返回值方法的参数列表•方法的参数列表中,可以含一到多个参数•调用方法时,参数的类型与数量需完全匹配•在方法签名中,参数也是局部变量方法的调用方法只有被调用才会被执行方法调用的过程分析方法的调用注意:没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。定义方法时,方法的结果应该返回给调用者,交由调用者处理。方法中只能调用方法,不可以在方法内部定义方法。练习1.编写程序,声明一个method方法,在方法中打印一个10*8的矩形,在main方法中调用该方法。练习1.修改上一个程序,在method方法中,除打印一个10*8的矩形外,再计算该矩形的面积,并将其作为方法返回值。2.在main方法中调用该方法,接收返回的面积值并打印练习1.修改上一个程序,在method方法提供m和n两个参数,方法中打印一个m*n的矩形,并计算该矩形的面积,将其作为方法返回值。2.在main方法中调用该方法,接收返回的面积值并打印。跨类调用方法•类中的某个方法,除了可以调用本类的其他方法外,还可以调用其他类中的指定方法。•为便于理解,本例暂时使用静态方法示例1publicclassTest2Class{2publicstaticvoidmain(String[]args){3intret=StaticClass.add(10,20);4System.out.println(ret=+ret);56intret2=StaticClass.add(15,25);7System.out.println(ret2=+ret2);8}9}1011publicclassStaticClass{12publicstaticintadd(inta,intb){13System.out.println(a=+a+b=+b);14returna+b;15}16}练习1.修改上一个程序,新建一个Another类,将method方法移到该类中。2.在原类的main方法中调用Another类的method方法,接收返回的面积值并打印。第二节参数的值传递方法的参数传递方法,必须有其所在类或对象调用才有意义。若方法含有参数:形参:方法声明时的参数实参:方法调用时实际传给形参的参数值Java的实参值如何传入方法呢?Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。栈:局部变量和对象的引用堆:对象(new出的来东西)方法的参数传递—基本数据类型的参数传递方法的参数传递—引用数据类型的参数传递方法的参数传递—引用数据类型的参数传递方法的参数传递publicclassTestTransfer{publicstaticvoidswap(inta,intb){inttmp=a;a=b;b=tmp;System.out.println(swap方法里,a的值是+a+;b的值是+b);}publicstaticvoidmain(String[]args){inta=6;intb=9;swap(a,b);System.out.println(交换结束后,变量a的值是+a+;变量b的值是+b);}}请输出结果方法的参数传递classDataSwap{publicinta;publicintb;}publicclassTestTransfer1{publicstaticvoidswap(DataSwapds){inttmp=ds.a;ds.a=ds.b;ds.b=tmp;System.out.println(swap方法里,aField的值是+ds.a+;bField的值是+ds.b);}publicstaticvoidmain(String[]args){DataSwapds=newDataSwap();ds.a=6;ds.b=9;swap(ds);System.out.println(交换结束后,aField的值是+ds.a+;bField的值是+ds.b);}}请输出结果第三节重载方法方法的重载(overload)重载的概念在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。重载的特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区别。重载示例://返回两个整数的和intadd(intx,inty){returnx+y;}//返回三个整数的和intadd(intx,inty,intz){returnx+y+z;}//返回两个小数的和doubleadd(doublex,doubley){returnx+y;}•使用重载方法,可以为编程带来方便。•例如,System.out.println方法就是典型的重载方法,其内部的声明形式如下:publicvoidprintln(bytex)publicvoidprintln(shortx)publicvoidprintln(intx)publicvoidprintln(longx)publicvoidprintln(floatx)publicvoidprintln(doublex)publicvoidprintln(charx)publicvoidprintln(doublex)publicvoidprintln()……方法的重载1.判断:与voidshow(inta,charb,doublec){}构成重载的有:a)voidshow(intx,chary,doublez){}//没有b)intshow(inta,doublec,charb){}//可以c)voidshow(inta,doublec,charb){}//可以d)booleanshow(intc,charb){}//参数个数不同e)voidshow(doublec){}//参数个数不同f)doubleshow(intx,chary,doublez){}//不,与返回值类型无关g)voidshows(){doublec}//不能,方法名不同练习1.编写程序,定义三个重载方法并调用。方法名为mOL。三个方法分别接收一个int参数、两个int参数、一个字符串参数。分别执行平方运算并输出结果,相乘并输出结果,输出字符串信息。在主类的main()方法中分别用参数区别调用三个方法。2.定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值,并分别调用三个方法。练习

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功