第04章对象的行为_成员方法精选文档.ppt
《第04章对象的行为_成员方法精选文档.ppt》由会员分享,可在线阅读,更多相关《第04章对象的行为_成员方法精选文档.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第04章对象的行为章对象的行为_成员方法成员方法1本讲稿第一页,共六十六页授课内容授课内容01了解了解Java02 面向对象的面向对象的“对象对象”03 对象的属性对象的属性-变量详述变量详述 04 对象的行为对象的行为-成员方法详述成员方法详述 05 生命周期及作用域生命周期及作用域06 Java常用类与函数库常用类与函数库07 面向对象中的继承面向对象中的继承08 深入多态深入多态09 使用异常处理使用异常处理 10 基于基于swing的图形界面编程的图形界面编程 11 可视化程序的事件处理可视化程序的事件处理 12 Java多线程多线程2本讲稿第二页,共六十六页授课内容授课内容01了解
2、了解Java02 面向对象的面向对象的“对象对象”03 对象的属性对象的属性-变量详述变量详述 04 对象的行为对象的行为-成员方法详述成员方法详述 05 生命周期及作用域生命周期及作用域06 Java常用类与函数库常用类与函数库07 面向对象中的继承面向对象中的继承08 深入多态深入多态09 使用异常处理使用异常处理 10 基于基于swing的图形界面编程的图形界面编程 11 可视化程序的事件处理可视化程序的事件处理 12 Java多线程多线程3本讲稿第三页,共六十六页Chap 04 对象的行为对象的行为 -成员方法详述成员方法详述 进一步掌握方法的定义和使用进一步掌握方法的定义和使用掌握类
3、的构造方法的概念和编写、使用掌握类的构造方法的概念和编写、使用掌握方法的重载掌握方法的重载掌握掌握GettersGetters与与SettersSetters方法的规范编写方法的规范编写理解封装的含义理解封装的含义4本讲稿第四页,共六十六页Java中的方法中的方法Java中的方法类似中的方法类似C语言中的函数,是一语言中的函数,是一个可以被多次调用的相对独立的代码块个可以被多次调用的相对独立的代码块,或或者说是用来完成一个特定的任务的一小段者说是用来完成一个特定的任务的一小段程序。程序。我们已经见过的方法有:我们已经见过的方法有:public static void main(String a
4、rgs);void setDim(double w,double h,double d);double getArea();5本讲稿第五页,共六十六页方法定义的格式方法定义的格式方法定义的格式:方法定义的格式:修饰符修饰符 返回值类型返回值类型 方法名称方法名称(参数列表参数列表)/方法体中的语句方法体中的语句在在 前面是方法头,前面是方法头,中间是方法体。中间是方法体。在在 中的部分是可选项。根据需要可以不同,中的部分是可选项。根据需要可以不同,也可以没有。也可以没有。6本讲稿第六页,共六十六页自定义一个方法自定义一个方法public static void max(int a,int b)
5、int m;if (ab)m=a;else m=b;System.out.println(“max=”+m);修饰符修饰符 返回值类型返回值类型 方法名称方法名称(参数列表参数列表)/方法体中的语句方法体中的语句7本讲稿第七页,共六十六页定义方法相关说明定义方法相关说明public表示该方法是公开的,在别的类和表示该方法是公开的,在别的类和方法里面都能方法里面都能“看到看到”这个方法。这个方法。static表示只有在静态方法里面才能访问这个表示只有在静态方法里面才能访问这个方法。方法。void表示这个方法没有返回值。表示这个方法没有返回值。方法的参数列表说明在调用它时需要传入方法的参数列表说明
6、在调用它时需要传入数据的个数、及每个的类型。数据的个数、及每个的类型。8本讲稿第八页,共六十六页方法的调用方法的调用使用方法实现特定功能叫做方法的调用。使用方法实现特定功能叫做方法的调用。public class App public static void main(String s)int a=5,b=10,m1,m2;max(a,b);max(b,7);调用方法时只写方法名称和实际调用方法时只写方法名称和实际要处理的数据,如不需要传递数要处理的数据,如不需要传递数据则只写方法名称和小括号。据则只写方法名称和小括号。9本讲稿第九页,共六十六页方法调用的相关说明方法调用的相关说明一般形式:一
7、般形式:方法名方法名(实参实参)注意:注意:不写类型不写类型,只写方法名称和实际参数(有时,只写方法名称和实际参数(有时不写),括号不能省。不写),括号不能省。与方法定义的形式相一致:与方法定义的形式相一致:参数的参数的类型类型、参数的、参数的个数个数、参数的、参数的次序次序。无返回值的方法,其调用可作为单独语句。无返回值的方法,其调用可作为单独语句。有返回值的方法,其调用可放在表达式中,有返回值的方法,其调用可放在表达式中,或作为其他方法调用的参数。或作为其他方法调用的参数。10本讲稿第十页,共六十六页方法的返回值方法的返回值通过方法调用得到一个确定的值,就是方法的返回通过方法调用得到一个确
8、定的值,就是方法的返回值。值。方法的返回值是通过方法中的方法的返回值是通过方法中的return语句获得的。语句获得的。在在return这个关键字后面是一个可以接受的值,它可这个关键字后面是一个可以接受的值,它可以是一个简单的值,也可以是一个变量,还可以是一以是一个简单的值,也可以是一个变量,还可以是一个表达式。个表达式。在定义方法时在定义方法时return语句中数据的类型要和指定返语句中数据的类型要和指定返回值的类型一致,或者可以自动转换成返回要求回值的类型一致,或者可以自动转换成返回要求的类型。的类型。11本讲稿第十一页,共六十六页public static int max(int x,in
9、t y)return(xy?x:y);public static void main(String args)int num=10,m;m=max(num,20);System.out.println(“最大值是最大值是”+m);带返回值的方法带返回值的方法定义方法的返回值类型为整型定义方法的返回值类型为整型通过通过return语句将返回值返回到调用位置语句将返回值返回到调用位置12本讲稿第十二页,共六十六页方法的参数方法的参数方法的形式参数:方法的形式参数:“形参形参”通常是方法所通常是方法所处理的数据处理的数据、影影响响方法功能的方法功能的因素因素或者方法或者方法处理的结果。处理的结果。如
10、无需传递数据则可以为空。如无需传递数据则可以为空。public static int max(int x,int y)return(xy?x:y);public static void welcome()System.out.println(“*”);System.out.println(“欢迎使用本程序欢迎使用本程序”);System.out.println(“*”);13本讲稿第十三页,共六十六页方法的实际参数:方法的实际参数:调用一个方法时,方法名后面小括号中调用一个方法时,方法名后面小括号中的参数称为的参数称为“实实际际参参数数”。实参可以认为是真正参与实际操作被处实参可以认为是真正参
11、与实际操作被处理的内容。实参可以是常量、变量或表理的内容。实参可以是常量、变量或表达式,但要求它们有确定的值。达式,但要求它们有确定的值。方法的参数方法的参数 int a=-3,b=5,c;c=max(4,a+b);14本讲稿第十四页,共六十六页方法的参数方法的参数方法的参数可以是复杂类型的数据,如类的对象、方法的参数可以是复杂类型的数据,如类的对象、数组等。数组等。数组作为方法的形式参数,要写清楚类型和中括号数组作为方法的形式参数,要写清楚类型和中括号。数组作为方法的实参,只写数组名称。数组作为方法的实参,只写数组名称。double aver(double arr)/求形参数组求形参数组ar
12、r所有元素的平均值;所有元素的平均值;double price=12.5,36.9,8.7,3,4.5;double a=aver(price);15本讲稿第十五页,共六十六页方法的参数方法的参数基本类型数据作方法的参数,实参变量对形参变基本类型数据作方法的参数,实参变量对形参变量的数据传递是量的数据传递是“单向值传递单向值传递”,即只由实参传,即只由实参传给形参,而形参不能传回给实参。给形参,而形参不能传回给实参。public static void main(String s)int a=2,b=3;fun(a,b);static void fun(int x,int y)x=10;y=1
13、5;a 2 b 3 x 10 y 15a 2 b 3 x y 2 316本讲稿第十六页,共六十六页方法的参数方法的参数引用类型的参数(如数组、对象),实参引用类型的参数(如数组、对象),实参代表的是数据的引用,即地址。实参将引代表的是数据的引用,即地址。实参将引用传递给形参,两边共用一个地址空间的用传递给形参,两边共用一个地址空间的数据。此时在方法内部对引用的数据作任数据。此时在方法内部对引用的数据作任何操作,结果将被保留。何操作,结果将被保留。注意数组作函数的参数,形参的注意数组作函数的参数,形参的里什么都里什么都不写。调用时实参只写数组名称。不写。调用时实参只写数组名称。17本讲稿第十七页
14、,共六十六页方法的参数方法的参数数组作方法的参数举例:数组作方法的参数举例:import java.util.*;class ParamDemo02 public static void main(String args)int score=new int10;Scanner reader=new Scanner(System.in);for(int i=1;i=10;i+)System.out.println(请输入第请输入第+i+个整数个整数);scorei-1=reader.nextInt();System.out.println(求最大值的程序求最大值的程序);System.out.p
15、rintln(最大值是最大值是+max(score);static int max(int s)int m=s0;for(int i=1;im)m=si;return m;18本讲稿第十八页,共六十六页方法的参数方法的参数对象作方法的参数举例:对象作方法的参数举例:import java.util.*;public class MyFirstApp static Scanner reader=new Scanner(System.in);public static void main(String args)Hair hisHair=new Hair();System.out.println(
16、调用方法前调用方法前);hisHair.printInfo();change(hisHair);System.out.println(调用方法后调用方法后);hisHair.printInfo();public static void change(Hair h)System.out.println(请输入新的颜色请输入新的颜色);h.setColor(reader.next();System.out.println(请输入新的发型请输入新的发型);h.setStyle(reader.next();class HairString color=黑色黑色;String style=板寸板寸;vo
17、id printInfo()System.out.println(头发的颜色是头发的颜色是+color+造型是造型是+style);void setColor(String c)color=c;void setStyle(String s)style=s;19本讲稿第十九页,共六十六页类中方法的相关说明类中方法的相关说明在同一个类内部的方法:在同一个类内部的方法:在类的内部,成员方法可以对该类的成员变量直接在类的内部,成员方法可以对该类的成员变量直接访问。访问。class Box int width,height,depth;void setDim(int w,int h,int d)widt
18、h=w;height=h;depth=d;20本讲稿第二十页,共六十六页类中方法的相关说明类中方法的相关说明在同一个类内部的方法:在同一个类内部的方法:在类的内部,成员方法之间可以相互直接访问(调用)。在类的内部,成员方法之间可以相互直接访问(调用)。class Box int width,height,depth;void setDim(int w,int h,int d)width=w;height=h;depth=d;printInfo();void printInfo()System.out.println(“长:长:”+width+”宽:宽:”+height+”高:高:”+depth
19、);21本讲稿第二十一页,共六十六页类中方法的相关说明类中方法的相关说明在同一个类内部的方法:在同一个类内部的方法:在类的内部,在类的内部,static修饰过的静态成员可相修饰过的静态成员可相互访问,其他成员不能访问互访问,其他成员不能访问static修饰的成修饰的成员。相关内容将在第五部分具体介绍。员。相关内容将在第五部分具体介绍。22本讲稿第二十二页,共六十六页类中方法的相关说明类中方法的相关说明在不同类之间的方法:在不同类之间的方法:在一个类的在一个类的“外界外界”想要访问类内部的成想要访问类内部的成员方法,需要使用该类创建对象。通过创员方法,需要使用该类创建对象。通过创建的实体(即对象
20、)配合分量运算符建的实体(即对象)配合分量运算符“.”的使用,进行方法的调用。格式为:的使用,进行方法的调用。格式为:对象对象.方法名(实参)方法名(实参)Box b1=new Box();b1.setDim(3,4,5);23本讲稿第二十三页,共六十六页类中方法的相关说明类中方法的相关说明在不同类之间的方法:在不同类之间的方法:static修饰过的方法可以在该类的外部通过修饰过的方法可以在该类的外部通过类名类名.方法名(实参)方法名(实参)进行调用。进行调用。如如Math.sqrt(85);Static相关内容将在第五部分详细讲解,此相关内容将在第五部分详细讲解,此处不再展开。处不再展开。2
21、4本讲稿第二十四页,共六十六页课后练习课后练习1.编写编写Java应用程序,定义一个计算两个整应用程序,定义一个计算两个整数和的方法数和的方法static int add(int op1,int op2)。在在main方法中声明两个整型变量,分别赋方法中声明两个整型变量,分别赋值,调用值,调用add()方法得到它们的和,在屏幕方法得到它们的和,在屏幕上输出结果。上输出结果。25本讲稿第二十五页,共六十六页public class AddTest public static void main(String args)int num1,num2;num1=10;num2=20;System.ou
22、t.println(num1+num2+=+add(num1,num2);static int add(int op1,int op2)return op1+op2;本讲稿第二十六页,共六十六页2、编写程序,定义一个方法、编写程序,定义一个方法public static void abs(int a),用来求绝对值并输出结果。,用来求绝对值并输出结果。在在main方法中从命令行读入一个整数,调方法中从命令行读入一个整数,调用这个结果求它的绝对值。用这个结果求它的绝对值。27本讲稿第二十七页,共六十六页import java.util.Scanner;public class Demopubli
23、c static void main(String args)Scanner reader=new Scanner(System.in);System.out.println(请输入一个整数请输入一个整数);int n=reader.nextInt();abs(n);public static void abs(int a)if(a=0)System.out.println(绝对值是绝对值是+a);elseSystem.out.println(绝对值是绝对值是+(-a);本讲稿第二十八页,共六十六页3.在上述题目的基础上,修改在上述题目的基础上,修改abs成为带返成为带返回值的方法,即回值的方
24、法,即public static int abs(int a),实现相同的功能。实现相同的功能。29本讲稿第二十九页,共六十六页import java.util.Scanner;public class Demopublic static void main(String args)Scanner reader=new reader(System.in);System.out.println(请输入一个整数请输入一个整数);int n=reader.nextInt();System.out.println(绝对值是绝对值是+abs(n);public static int abs(int a)
25、if(a=0)return a;elsereturn-a;本讲稿第三十页,共六十六页3.在上述题目的基础上,修改在上述题目的基础上,修改abs成为带返成为带返回值的方法,即回值的方法,即public static int abs(int a),实现相同的功能。实现相同的功能。31本讲稿第三十一页,共六十六页import java.util.Scanner;public class Demopublic static void main(String args)Scanner reader=new reader(System.in);System.out.println(请输入一个整数请输入一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 对象 行为 成员 方法 精选 文档
限制150内