欢迎来到天天文库
浏览记录
ID:56442250
大小:2.02 MB
页数:28页
时间:2020-06-18
《JSE-04(声明和使用方法).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章声明和使用方法讲师:李贺飞本章内容第一节方法的声明和调用第二节参数的值传递第三节重载方法第一节方法的声明和调用方法声明和调用什么是方法(函数)?方法是类或对象行为特征的抽象,也称为函数。Java里的方法不能独立存在,所有的方法必须定义在类里。方法声明语法:修饰符返回值类型方法名(参数类型形参1,参数类型形参2,….){程序代码return返回值;}方法的返回类型声明方法时,可以为其指定返回类型:变量的数据类型void(表示无返回值)方法在执行后,需返回指定类型的值(void除外)使用return语句返回值方法的参数列表方法的参数列表中,可以含一到多个参数调用方法时,参数的类型与
2、数量需完全匹配在方法签名中,参数也是局部变量方法的调用方法只有被调用才会被执行方法调用的过程分析方法的调用注意:没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。定义方法时,方法的结果应该返回给调用者,交由调用者处理。方法中只能调用方法,不可以在方法内部定义方法。练习编写程序,声明一个method方法,在方法中打印一个10*8的矩形,在main方法中调用该方法。练习修改上一个程序,在method方法中,除打印一个10*8的矩形外,再计算该矩形的面积,并将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印练
3、习修改上一个程序,在method方法提供m和n两个参数,方法中打印一个m*n的矩形,并计算该矩形的面积,将其作为方法返回值。在main方法中调用该方法,接收返回的面积值并打印。跨类调用方法类中的某个方法,除了可以调用本类的其他方法外,还可以调用其他类中的指定方法。为便于理解,本例暂时使用静态方法示例1publicclassTest2Class{2publicstaticvoidmain(String[]args){3intret=StaticClass.add(10,20);4System.out.println("ret="+ret);56intret2=StaticClass.a
4、dd(15,25);7System.out.println("ret2="+ret2);8}9}1011publicclassStaticClass{12publicstaticintadd(inta,intb){13System.out.println("a="+a+"b="+b);14returna+b;15}16}练习修改上一个程序,新建一个Another类,将method方法移到该类中。在原类的main方法中调用Another类的method方法,接收返回的面积值并打印。第二节参数的值传递方法的参数传递方法,必须有其所在类或对象调用才有意义。若方法含有参数:形参:方法声明时的
5、参数实参:方法调用时实际传给形参的参数值Java的实参值如何传入方法呢?Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。栈:局部变量和对象的引用堆:对象(new出的来东西)方法的参数传递—基本数据类型的参数传递方法的参数传递—引用数据类型的参数传递方法的参数传递—引用数据类型的参数传递方法的参数传递publicclassTestTransfer{publicstaticvoidswap(inta,intb){inttmp=a;a=b;b=tmp;System.out.println("swap方法里,a的值是"+a+";b的
6、值是"+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的值是"+
7、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)重载的概念在同一个类中,允许存在一个以上的同名方法,只要它们的参
此文档下载收益归作者所有