java课程新版本面向对象部分.ppt_第1页
java课程新版本面向对象部分.ppt_第2页
java课程新版本面向对象部分.ppt_第3页
java课程新版本面向对象部分.ppt_第4页
java课程新版本面向对象部分.ppt_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计,类和对象,第十章,回顾与作业点评,关于多重循环语句,下列说法正确的是( ) A多重循环指一个循环体内包含另一个完整的循环结构 B多重循环语句可以嵌套任意层次 Cwhile、do-while和for循环不可以相互嵌套 D在内层循环中执行break语句,将跳出外层循环 写出运行结果,int i = 0; for (i = 0; i 10; i +) if (i % 2 = 0) continue; i = i + 1; if (i = 5) break; System.out.println(i);,11,AB,预习检查,类与对象的关系是什么? 定义一个类的语法是什么? 如何创建一个类的对象?,本章任务,以OO的方式实现 学校类,描述学校的信息 教员类,输出教员的信息 学生类,输出学生的信息 游人类,输出购买门票价格,本章目标,掌握类和对象的特征 理解封装 会创建和使用对象,万物皆对象,世界是由什么组成的?,分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类,身边的对象,张浩,李明,收银员 员工号10001 姓名李明 部门财务部 操作: 收款 打印账单,顾客 姓名张浩 年龄20 体重60kg 操作: 购买商品,对象的特征属性,属性对象具有的各种特征 每个对象的每个属性都拥有特定值 例如:张浩和李明的年龄、姓名不一样,20岁,张浩,属性,60kg,对象的特征方法,方法对象执行的操作 对象:用来描述客观事物的一个实体,由一组属性和方法构成,打印账单,收银,方法,刷卡,对象的属性和方法,1、列出尼古拉斯凯奇驾驶的这辆法拉利F360 Spider的属性和方法 列出小狗对象的属性和方法,属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元 方法: 发动 停止 加速,属性: 颜色:白色 方法: 叫 跑 吃,封装,对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承,不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,小结1,说一说教室里的对象 描述他们的属性和方法,颜色:黑色 品牌:BENQ 投影,姓名:张三 年龄:20 学习,类型:白炽灯 开 关 变亮 变暗,材制: 木质 支撑物品,从对象抽象出“类”,轿车,顾客,2、抽取出下列对象的属性和方法的共同特征,类,顾客类 轿车类 ,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类 具有相同属性和方法的一组对象的集合 类是对象的类型 不同于int类型:具有方法,各种口味的球状冰淇淋,类和对象的关系,类是抽象的概念,仅仅是模板,比如说:“人” 对象是一个你能够看得到、摸得着的具体实体,小布什,普京,克林顿,Java 是面向对象的语言,所有Java程序都以类class为组织单元 关键字class定义自定义的数据类型,public class HelloWorld public static void main(String args) System.out.println(“Hello World!“); ,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名 /定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; 属性n的类型 属性n; /定义方法部分 方法1; 方法2; 方法m; ,如何定义类,定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法,类示例2-1,3、在不同的宜宾学院培训中心,会感受到相同的环境和教学氛围,用类的思想输出中心信息,类示例2-2,public class School String schoolName; /中心名称 int classNumber; /教室数目 int labNumber; /机房数目 /定义宜宾学院中心的方法 public void showCenter() System.out.println(schoolName + “培训学员n“ + “配备:“ + classNumber + “教“ + labNumber + “机“); ,定义类的showCenter()方法, 用于输出类相关的信息,方法,成员变量,如何创建和使用对象,使用对象的步骤: 创建对象 类名 对象名 = new 类名(); 引用对象成员:使用“.”进行以下操作 引用类的属性:对象名.属性 引用类的方法:对象名.方法名(),School center = new School();, = “北京中心“; /给name属性赋值 center.showCenter(); /调用showCenter()方法,public class InitialSchool public static void main(String args) School center = new School(); System.out.println(“*初始化成员变量前*“); center. showCenter(); center.schoolName = “屏山中心“; center.classNumber = 10; center.labNumber = 10; System.out.println(“n*初始化成员变量后*“); center.showCenter() ,创建和使用对象示例5-1,创建“屏山中心”对象,说一说看到什么效果?,说一说又看到什么效果?,创建和使用对象示例5-2,4、编写学生类,输出学生相关信息;编写教员类,输出教员相关信息,public class Student String name; /姓名 int age; /年龄 String classNo; /班级 String hobby; /爱好 /输出信息方法 public void show() System.out.println(name + “n年龄:“ + age + “n就读于:“ + classNo + “n爱好:“ + hobby); ,创建和使用对象示例5-3,成员变量,成员方法,public class InitialStudent public static void main(String args) Student student = new Student(); = “张浩“; student.age = 10; student.classNo = “S1班“; student.hobby = “篮球“; student.show(); ,创建对象,给每个属性赋值,调用方法,创建和使用对象示例5-4,5、一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出,public class Visitor String name; /姓名 int age; /年龄 /显示信息方法 public void show() Scanner input = new Scanner(System.in); while(!“n“.equals(name) if(age=18 ,创建和使用对象示例5-5,成员方法,成员变量,import java.util.Scanner; public class InitialVistor public static void main(String args) Scanner input = new Scanner(System.in); Visitor v = new Visitor(); System.out.print(“请输入姓名:“); = input.next(); System.out.print(“请输入年龄:“); v.age = input.nextInt(); v.show(); ,创建对象,给每个属性赋值,调用方法,小结2,类和对象的关系? 如何创建和使用对象?,指导定义管理员类,训练要点: 定义类的属性 定义类的方法 需求说明: 编写管理员类 实现思路: 1、定义管理员类Administrator 2、定义其属性和方法,讲解需求说明,完成时间:20分钟,练习定义客户类,需求说明: 编写客户类 属性:积分、卡类型 方法:show(),显示客户信息 提示: 定义客户类Customer 定义属性和方法,完成时间:15分钟,指导创建管理员对象,训练要点: 使用类创建对象 引用对象的属性和方法 需求说明: 创建两个管理员类对象,输出他们的相关信息 实现思路: 1、创建两个管理员类的对象 2、给两个对象赋值并调用显示方法,讲解需求说明,完成时间:20分钟,指导更改管理员密码,训练要点: 使用类创建对象 while循环 需求说明: 输入旧的用户名和密码,如果正确,方有权限更新 从键盘获取新的密码,进行更新 实现思路: 1、创建管理员类的对象 2、利用while实现循环执行 难点指导: 循环执行,讲解需求说明,完成时间:25分钟,练习客户积分回馈,需求说明: 实现积分回馈功能,金卡客户积分大于1000分或普卡客户积分大于5000,获得回馈积分500分 创建客户对象输出他得到的回馈积分,完成时间:20分钟,面向对象(OO)的优点,与人类的思维习惯一致 把人类解决问题的思维过程转变为程序能够理解的过程 信息隐藏,提高了程序的可维护性和安全性 封装实现了模块化和信息隐藏 封装使得在对象外部不能随意访问对象的属性和方法 提高了程序的可重用性 一个类可以创建多个对象实例,增加了重用性,数据类型总结,int double char boolean,String 数组 使用class定义的类型 ,基本数据类型,引用数据类型,数据类型使用区别,总结,什么是类? 什么是对象? 类和对象的区别是什么? 如何定义一个类、类的属性和方法? 如何创建类的对象? 数据类型有哪两种?区别是什么?,作业,课后作业 必做 149页 选做 上机操作题 提交时间:xxx 提交形式:xxx 预习作业 查阅相关英语单词 逻辑程序基础知识复习,Java程序设计,类的无参方法,第十一章,类和对象的区别是什么? 数据类型有哪两类?如何使用?,public class ,Student,toString,,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 Student public void showInfo() return “我是一名学生“; ,方法的返回类型为void,方法中不能有return返回值!,常见错误4-1,public class Student public double getInfo() double weight = 95.5; double height = 1.69; return weight, height; ,方法不能返回多个值!,常见错误4-2,public class Student public String showInfo() return “我是一名学生“; public double getInfo() double weight = 95.5; double height = 1.69; return weight; ,多个方法不能相互嵌套定义!,常见错误4-3,public class Student public String showInfo() return “我是一名学生“; public double getInfo() double weight = 95.5; double height = 1.69; return weight; ,public class Student int 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、创建类 ScoreCalc 2、编写方法实现各功能 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注释?,Java程序设计,指导学习:人机猜拳,创建类Welcome 添加一个方法sayHello(),提示输入姓名,然后输出“ ,欢迎你!” 添加JavaDoc注释,/* * 欢迎类 * author name */ public class Welcome /* * 向用户问好 */ public void sayHello() Scanner input = new Scanner(System.in); System.out.print(“你叫什么?“); String name = input.next(); System.out.println(name + “, 你好!“); ,课程内容回顾,参考代码,难点突破,二重循环结构 类和对象之间的差异 方法定义 方法的返回值,作业讲评,教员备课时完善,知识梳理:二重循环结构,二重循环结构 循环结构:while、do-while、for、foreach 可以任意层次嵌套 各种循环结构可以相互嵌套 二重循环结构中使用跳转语句 continue:继续本层下一轮循环 break:跳出本层循环,知识梳理:类和对象入门2-1,类和对象 类和对象及其关系 类的封装 定义类 创建和使用对象 OO的优点 无参方法 定义方法 调用方法 成员变量和局部变量 面向对象编程思维,知识梳理:类和对象入门2-2,带参方法 定义方法指定形参 调用方法指定实参 基本数据类型和引用数据类型的参数区别 字符串类 String类 StringBuffer类,综合练习:人机猜拳,任务 完成人机猜拳互动游戏的开发 主要功能 选取对战角色 猜拳 记录分数,阶段1:练习分析业务,创建用户类,完成时间:15分钟,综合练习:人机猜拳,需求说明 分析业务 抽象出类、类的特征和行为,阶段1:练习分析业务,创建用户类,完成时间:15分钟,综合练习:人机猜拳,需求说明 创建用户类 编写程序入口类,阶段2:练习创建计算机类,完成时间:15分钟,综合练习:人机猜拳,需求说明 创建计算机类Computer。实现计算机出拳,阶段3:练习创建游戏类,选择对战对手,完成时间:20分钟,综合练习:人机猜拳,需求说明 创建游戏类Game 编写游戏类的初始化方法initial() 编写游戏类的开始游戏方法startGame(),阶段4:练习实现一局对战,完成时间:25分钟,综合练习:人机猜拳,需求说明 分别调用用户类和计算机类的出拳方法showFist(),接受返回值并比较,给出胜负结果,阶段5:练习实现循环对战,并累计得分,完成时间:20分钟,综合练习:人机猜拳,需求说明 实现循环对战,并且累加赢家的得分,阶段6:练习显示对战结果,完成时间:25分钟,综合练习:人机猜拳,需求说明 游戏结束后,显示对战结果,阶段7:练习完善游戏类的startGame(),完成时间:20分钟,综合练习:人机猜拳,需求说明 输入并保存用户姓名,游戏结束后显示双方的各自得分,总结,Java提供了哪四种循环结构? break和continue在二重循环的中跳转规则是什么? 类与对象的关系是什么? 成员变量和局部变量的区别有哪些?,Java程序设计,带参数的方法(一),写出如下代码的运行结果,public static void main(String args) for (int i = 0; i 6; i+) System.out.print(i + “,“); while (+i 5) continue; System.out.print(i); ,0,5,预习检查,调用带参方法时,有哪些注意事项? 为什么需要包?,本章任务,实现客户信息的添加和查询 实现图形生成器 实现模拟账户存取款功能,本章目标,会定义带参方法 会使用带参方法 会创建包组织Java工程,为什么要用带参数的方法,工作原理,新鲜桃汁,新鲜苹果汁,新鲜梨汁,输出三种果汁,如何使用带参数的方法3-1,定义带参数的方法 调用带参数的方法,public class Zhazhi public String zhazhi ( String fruit ) String juice = fruit + “汁“; return juice; ,/*调用zhazhi方法*/ Zhazhi myZhazhi = new Zhazhi(); String myFruit = “苹果“; String myJuice = myZhazhi.zhazhi(myFruit); System.out.println(myJuice);,参数列表: (数据类型 参数1,数据类型 参数2),调用方法,传递的参数要与参数列表一一对应,如何使用带参数的方法3-2, 返回类型 () /方法的主体 ,该方法允许被访问调用的权限范围,方法返回值的类型,public class StudentsBiz String names = new String30; public void addName(String name) /增加学生姓名 public void showNames () /显示全部学生姓名 ,传送给方法的形参列表,一个形式参数,没有返回值,如何使用带参数的方法3-3,public static void main(String args) StudentsBiz st = new StudentsBiz(); Scanner input = new Scanner(System.in); for(int i=0;i5;i+) System.out.print(“请输入学生姓名:“); String newName = input.next(); st.addName(newName); st.showNames(); ,实参的类型、数量、顺序 都要与形参一一对应,先实例化对象, 再使用方法,调用带参数的方法,对象名.方法名(实参1, 实参2,,实参n),实参列表,指导实现客户姓名添加和显示,训练要点: 带参方法的定义 带参方法的调用 需求说明: 创建客户业务类,实现客户姓名的添加和显示 实现思路: 1、创建CustomerBiz类 2、创建带参方法addName() 3、创建方法showNames() 4、创建测试类 难点指导: 创建无返回值的带参方法,讲解需求说明,完成时间:25分钟,练习查找客户姓名,需求说明: 根据需要,查找客户姓名,给出查找结果,完成时间:20分钟,提示:定义带参带返回值的方法 public boolean search(String name),可以设计一个方法来实现,通过传递两个参数(需要修改的姓名、新姓名)来实现,带两个参数的方法2-1,1、修改学生姓名,输入新、旧姓名,进行修改并显示是否修改成功,public class StudentsBiz String names = new String30; public boolean editName (String oldName,String newName) boolean find = false; / 是否找到并修改成功标识 / 循环数组,找到姓名为oldName的元素,修改为newName for(int i=0;inames.length;i+) if(namesi.equals(oldName) namesi = newName; find=true; break; return find; ,返回值类型,带有两个形参,返回结果:boolean类型,带两个参数的方法2-2,public class TestModify public static void main(String args) System.out.print(“n请输入要修改的学生姓名:“); String oldname = input.next(); System.out.print(“n请输入新的学生姓名:“); String newname = input.next(); System.out.println(“n*修改结果*“); if( st.editName(oldname, newname) ) System.out.println(“找到并修改成功!“); else System.out.println(“没找到该学生!“); st.showNames(); ,根据返回值进行处理,传递两个实参,设计方法,通过传递三个参数(开始位置、结束位置,查找的姓名)来实现,带多个参数的方法2-1,2、指定查找区间,查找学生姓名并显示是否修改成功,public boolean searchName (int start,int end,String name) boolean find = false; / 是否找到标识 / 指定区间数组中,查找姓名 for(int i=start-1;iend;i+) if(namesi.equals(name) find=true; break; return find; ,返回值类型,带有三个形参,返回结果:boolean类型,带多个参数的方法2-2,if(st.searchName(s,e,name) System.out.println(“找到了!“); else System.out.println(“没找到该学生!“); ,传递三个实参,/方法定义 public void addName(String name) /方法体 /方法调用 对象名.addName(String “张三“);,调用方法时不能指定实参类型!,常见错误4-1,对象名.addName(“张三“);,/方法定义 public boolean searchName(int start ,int end ,String name) /方法体 /方法调用 String s=“开始“; int e=3; String name=“张三“; boolean flag=对象名. searchName(s ,e ,name);,形参和实参数据类型不一致!,常见错误4-2,/方法定义 public boolean searchName(int start,int end,String name) /方法体 /方法调用 int s=1; int e=3; boolean flag= 对象名.searchName(s,e);,形参和实参数量不一致!,常见错误4-3,/方法定义 public boolean searchName(int start,int end,String name) /方法体 /方法调用 int s=1; int e=3; String name=“张三“; 对象名.searchName(s,e,name);,调用方法后没有对返回值作任何处理!,常见错误4-4,练习实现图形生成器,需求说明: 根据指定不同的行以及字符,生成不同的三角形,完成时间:20分钟,为什么需要包,生活案例,文档分门别类,易于查找,不同内容的文档可以放在不同的 袋子中,拥有相同的名字,避免冲突,易于管理,为什么需要包,树形文件系统 使用目录解决文件同名冲突问题 如何存放两个同名的类而不冲突?,包,包解决类的同名问题,允许类组成较小的单元(类似 文件夹),易于找到和使用相 应的文件,防止命名冲突,更好的保护类、属 性和方法,如何创建包,package cn.jbit.classandobject; /声明包 public class AccpSchool / public String toString() / ,包名,使用package声明包, 以分号结尾,如果有包的声明,一定 作为Java源代码的第一条 语句,包命名规范,包名由小写字母组成,不能以圆点开头或结尾 包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名 包名后续部分依不同机构内部的规范不同而不同,package mypackage;,package net.javagroup.mypackage;,package net.javagroup.research.powerproject;,部门名,项目名,package .mypackage; ,用Eclipse 创建包,使用Eclipse创建包的两种方法: 分别创建包和类: 创建项目创建包创建类 创建类的过程中创建类所在的包 创建项目创建包和类,包与目录的关系,创建好的包和Java源文件是如何存储的? 创建包cn.jbit.classandobject ,即创建了目录结构:cnjbitclassandobject,cn,jbit,classandobject,AccpSchool.java,HelloAccp.java,如何导入包,为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类,import java.util.*; /导入java.util包中所有类 import cn.jbit.classandobject.AccpSchool; /导入指定包中指定类,关键字import并不陌生,import 包名. 类名;,1、系统包:java.util 2、自定义包:cn.jbit.classandobject,*: 指包中的所有类 AccpSchool :指包中的AccpSchool类,小结,AccpSchool.java位于cn.jbit.classandobject包中,HelloAccp.java位于demo包中,下面程序空缺部分需要填入代码吗?如果需要,是什么?,/添加代码2 /添加代码3 public class HelloAccp public static void main(String args) AccpSchool center = new AccpSchool(); center.showMessage(); ,/添加代码1 public class AccpSchool public void showMessage() System.out.println(“这是上 海Accp中心。“); ,package cn.jbit.classandobject;,package demo;,import cn.jbit.classandobject.*;,声明包的含义: 声明当前类所处的位置,导入包的含义: 声明在当前类中要使用到的 别的类所处的位置,练习模拟账户查询,实现存取款,需求说明: 模拟银行账户业务,进行余额查询,实现存款和取款,完成时间:20分钟,总结,形式参数和实际参数有什么区别? 调用带参方法是有哪些注意事项? 如何声明包?如何导入包? 包与存储Java源文件的目录结构关系是什么?,Java程序设计,带参数的方法(二),/方法定义 public void addName(name) /方法体 /方法调用 int n = 对象名.addName(“张三“);,纠正代码中的错误,输出“早上好!” 包(package)的作用有哪些?,必须指定形参类型,回顾与作业点评,方法没有返回值,预习检查,基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?,本章任务,实现MyShopping系统增加会员功能 实现MyShopping系统会员积分功能,本章目标,会使用数组作为方法的参数和返回值 会使用对象作为方法的参数,使用Arrays类提供的sort()方法实现 定义一个独立的方法来实现姓名排序,该方法的返回值为数组类型,数组类型的方法返回值2-1,1、编写方法,实现学生的姓名排序,public class StudentsBiz String names = new String5; / 学生姓名数组 public void inputNames() /接收用户输入的5个学生姓名,存放于names中 /字符串数组作为返回值 public String getNames() Arrays.sort(names); return names; ,返回字符串数组,public class TestSort public static void main(String args) StudentsBiz st = new StudentsBiz(); st.inputNames(); String namesbysort =st.getNames(); System.out.println(“*排序后*“); for(int i =0;i namesbysort.length;i+) if(namesbysort i!=null) System.out.print(namesbysort i+“t“); ,数组类型的方法返回值2-2,调用方法,返回结果,处理返回结果,定义学生类,添加属性:三门课的成绩 定义学生成绩计算类,添加方法,传递对象参数 定义测试类,对象类型的参数3-1,2、编写学生成绩计算类,计算学生平均分,public class Students /定义三门课成绩属性 float java=0; float database=0; float html=0; ,三门课成绩,public class Score /计算平均分,对象作为参数 public float getAvg(Students stu) float avg=0; avg=(stu.java +stu.database +stu.html )/3; return avg; ,对象类型的参数3-2,返回结果,对象类型的参数,public class TestScore public static void main(String args) Students stu=new Students(); Score sc=new Score(); float avg=0; stu.java=80; stu.database=95; stu.html

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论