TP11 类的无参方法 ACCP 6.0 S1-1-使用Java理解程序逻辑 课件.ppt
类的无参方法,第十一章,类和对象的区别是什么?数据类型有哪两类?如何使用?,public class,Student,toString,stu.name,stu.sex,stu.age,实现输出学生信息,下面代码有哪些错误?,回顾与作业点评,预习检查,类的方法由哪几部分组成?成员变量和局部变量的区别有哪些?JavaDoc怎样写注释?,本章任务,实现计算平均分和课程总成绩实现MyShopping系统菜单切换实现MyShopping系统入口程序,会定义和使用类的方法理解变量作用域会添加JavaDoc注释,本章目标,类的方法,1、写出狮子对象的“跑”方法、“叫”方法,电动玩具狮子属性:颜色:黄色行为:跑叫,按此按钮,狮子开始叫,按此按钮,狮子开始跑,类的方法示例,public class AutoLion String color=黄色;public void run()System.out.println(正在以0.1米/秒的速度向前奔跑);public String bark()String sound=大声吼叫;return sound;,AutoLion类代码实现,方法体,返回类型,方法名称,如何定义类的方法,类的方法定义类的某种行为(或功能),方法的名称,方法的主体,方法返回的数据类型,定义类的方法,public 返回值类型 方法名()/这里编写方法的主体,步骤一:定义方法名以及返回值,步骤二:编写方法体,方法的返回值,两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为void,public class Student String name=张三;public void getName()return name;,返回类型要匹配,return 表达式;,编译错误,作用:跳出方法给出结果,方法调用,方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句,对象名.方法名();,2、小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作,方法调用,public class AutoLion String color=黄色;/颜色/*跑*/public void run()System.out.println(正在以0.1米/秒的速度向前奔跑。);/*叫*/public String bark()String sound=大声吼叫;return sound;/*获得颜色*/public String getColor()return color;/*显示狮子特性*/public String showLion()return 这是一个+getColor()+的玩具狮子!;,public class TestLion public static void main(String args)AutoLion lion=new AutoLion();System.out.println(lion.showLion();lion.run();System.out.println(lion.bark();,在类的方法中调用该类另一个方法,在main()方法中调用类的方法,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,public class Studentpublic void showInfo()return 我是一名学生;,方法的返回类型为void,方法中不能有return返回值!,常见错误4-1,public class Studentpublic double getInfo()double weight=95.5;double height=1.69;return weight,height;,方法不能返回多个值!,常见错误4-2,public class Studentpublic String showInfo()return 我是一名学生;public double getInfo()double weight=95.5;double height=1.69;return weight;,多个方法不能相互嵌套定义!,常见错误4-3,public class Studentpublic String showInfo()return 我是一名学生;public double getInfo()double weight=95.5;double height=1.69;return weight;,public class Studentint age=20;if(age20)System.out.println(年龄不符合入学要求!);public void showInfo()return 我是一名学生;,不能在方法外部直接写程序逻辑代码!,常见错误4-4,小结1,编写电池类(Cell):具有品牌属性,可以续电编写测试类(TestCell),参考代码1,参考代码2,成员变量和局部变量2-1,变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域,for(int i=0,a=0;i 4;i+)a+;System.out.println(a);,代码错误,a的作用域仅在for循环中,成员变量和局部变量2-2,变量1类型 变量1;变量2类型 变量2;变量3类型 变量3;,public 返回类型 方法1()变量4类型 变量4;public 返回类型 方法2()变量5类型 变量5;,public class AutoLion,AutoLion类的方法,其他类的方法,谁能使用这些变量?,方法1,方法2,成员变量,局部变量,局部变量,作用域不同局部变量的作用域仅限于定义它的方法成员变量的作用域在整个类内部都是可见的初始值不同Java会给成员变量一个初始值Java不会给局部变量赋予初始值在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量两类变量同名时,局部变量具有更高的优先级,成员变量和局部变量的区别,public class Test int score1=88;int score2=98;public void calcAvg()int avg=(score1+score2)/2;public void showAvg()System.out.println(平均分是:+avg);,常见错误,局部变量avg的作用域仅限于calcAvg()方法,指导计算平均分和总成绩,训练要点:方法的定义和调用需求说明:从键盘接收三门课分数,计算三门课的平均分和总成绩,编写成绩计算类实现功能 实现思路:1、创建类 ScoreCalc2、编写方法实现各功能3、编写测试类难点指导:面向对象编程思维,讲解需求说明,完成时间:25分钟,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,面向对象的编程思维,ScoreCalc类 和 Test类,public static void main(String args)Scanner input=new Scanner(System.in);System.out.print(请输入Java成绩:);int java=input.nextInt();/*计算并显示输出*/int total=java+c+db;double avg=total/3;System.out.print(总成绩:+total);System.out.print(n平均分:+avg);,一次还可以接受,如果还要再执行这个功能,难道还要重复再写?,小结2,编写手机类(Phone):可以下载音乐,可以播放这些音乐,可以进行充电重用电池类方法(Cell)编写测试类(TestPhone),参考代码1,参考代码2,练习定义管理员类,需求说明:根据下图所示信息,编写管理员类Manager,使用show()方法返回管理员信息 编写测试类ManagerTest输出管理员信息,完成时间:10分钟,指导实现菜单的级联效果,训练要点:方法的定义和调用循环结构需求说明:实现MyShopping菜单,输入菜单项编号,可以自由切换各个菜单 实现思路:1、创建菜单类Menu 2、编写方法实现各功能3、编写测试类难点指导:面向对象编程思维,讲解需求说明,完成时间:30分钟,练习实现系统入口程序,需求说明:编写类StartSMS,实现输入用户名和密码,符合条件的进入系统,完成时间:20分钟,共性问题集中讲解,常见调试问题及解决办法代码规范问题,共性问题集中讲解,JavaDoc注释,回顾学过的注释方式单行注释:/这里是单行注释多行注释:/*这里是多行注释,可以多行*/JavaDoc注释:使用“/*”开始和“*/”结束,用来注释类、属性和方法等,/*CalcScore类*author Chris*version 1.0 2007/06/21*/,描述信息,author:描述作者信息,version:描述版本信息,3、为ScoreCalc类添加JavaDoc注释,添加JavaDoc注释,/*ScoreCalc类*author 北大青鸟*version 2.0 2010/06/01*/public class ScoreCalc/*Java成绩*/int java;./*计算总成绩*return total*/public int calcTotalScore()int total=java+c+db;return total;.,方法的JavaDoc注释,属性的JavaDoc注释,类的JavaDoc注释,如何生成JavaDoc文档,JavaDoc能够从源代码中抽取类、属性、方法等的注释,形成一个和配套的API帮助文档 生成JavaDoc文档使用命令行方式生成使用Eclipse工具生成,练习添加并生成JavaDoc文档,需求说明:为我行我素购物系统的Manager类、Menu类添加JavaDoc注释使用Eclipse工具,生成两个类的JavaDoc文档,完成时间:15分钟,总结,定义类的方法的步骤是什么?类的一个方法如何调用本类的另一个方法?类中的一个方法如何调用另一个类的方法?成员变量和局部变量的区别有哪些?如何给类的方法添加JavaDoc注释?,作业,课后作业必做教员备课时在此添加内容选做教员备课时在此添加内容提交时间:xxx提交形式:xxx预习作业背诵英文单词教员备课时在此添加内容,