




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,Java程序设计任务驱动式教程,主编:孙修东、王永红 高职高专规划示范教材,北京航空航天大学出版社,222,目录,任务一 搭建环境(构建Java集成开发环境),任务二 Java欢迎你(开发简单Java应用程序,任务三 小试牛刀(学习Java语言基础),任务四 挑战选择(使用分支控制流程),任务五 游戏人生(使用循环控制流程),任务六 回归自然(创建、使用类和对象),任务七 3G时代的消息传递(定义和使用类方法),任务八 保护你的隐私(封装的使用),任务九 子承父业(继承和多态的使用),任务十 上帝万能之手(接口的使用),322,任务十一 用数组存储信息(使用数组),任务十二 使用字符串进行交
2、流(使用字符串),任务十三 防患于未然(捕获并处理异常),任务十四 主动出击(抛出异常),任务十五 认识Java Applet(Applet入门),任务十六 丰富多彩的Applet(在Applet中播放声音和显示图像),任务十七 进入Windows世界(设计图形用户界面),任务十八 布局规划(使用布局管理器),任务十九 事件委托处理(如何处理事件),任务二十 选择之道(使用选择控件和选择事件),目录,422,任务二十一 简明清晰的菜单(使用菜单和其他常用事件),任务二十二 访问数据(使用JDBC连接数据库),任务二十三 访问数据升级(数据库编程),任务二十四 文件管理(目录与文件管理),任务二
3、十五 顺序进出之道(文件的顺序访问),任务二十六 随机进出之道(文件的随机访问),任务二十七 JAVA的分身术(创建和启动线程),任务二十八 线程的生命周期与优先级(线程的状态与调度),任务二十九 基于连接的通信(Java中的套接字Socket),任务三十 基于无连接的通信(Java中的数据报编程),目录,522,任务六 回归自然(创建、使用类和对象),2,1,知识目标,能力目标,类与对象概念与特征、属性和方法;类与对象的关系;定义类的语法。创建类的对象;使用对象的步骤。,掌握类和对象的特征;会创建和使用类和对象。,622,内容提要,4,跟我做:学生类描述,1,2,3,5,实现方案,代码分析,
4、必备知识,动手做一做,722,6.1 跟我做:学生类描述,任务情景 学生信息管理系统用于对学生信息进行管理。常常涉及到学生、教师或班主任、系部等对象。学生的信息包括学号、姓名、出生年月、家庭住址、联系电话。请对学生进行类描述,并用Java代码实现。 运行结果 假设有一个同学,学号=1,姓名=“辛海阳”,出生年月=1994-10-18,家庭住址=“中国江苏省泰州市”,联系电话=时,程序运行的结果如图6-1。,第1章目录,822,问题分析 Java程序设计采用的是面向对象程序设计(OOP,Objected-Oriented Programming)的方法。OOP是目前
5、软件开发的主流方法。解决问题过程中,需要采用面向对象的分析方法和面向对象的设计方法。类的描述是使用OOP解决问题的基础。 类包含属性和行为。属性指学生的学号、姓名、出生年月、家庭住址、联系电话。行为指学生上课、做作业、课后活动、休息。如图6-2。本任务只要求对属性进行描述。,第1章目录,6.2 实现方案,922,解决步骤 1.打开Eclipse,在study项目中创建包com.task06,再确定类名Student,得到类的框架。 2.然后,在public class Student 下面一行输入类的属性描述: long identity;/ 学号 String name; /姓名 Date
6、birthday; /出生年月 String address; /家庭住址 String tel; /联系电话 此时,会发现,在Date birthday;一行的左侧,出现了一个红色的符号。我们在package com.task06;的下面一行输入:import java.util.Date;红色的符号将会自动消失。 3.最后,将/ TODO Auto-generated method stub替换成: Student student = new Student();/创建类的对象 /详细实现代码参见6.3 4.运行程序。,第1章目录,6.2 实现方案,1022,程序代码 package co
7、m.task06;/创建包com.task06 import java.text.DateFormat;/导入程序中用到的系统类 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * Student.java *学生信息管理系统中类描述 */ public class Student /属性 long identity;/ 学号 String name;/ 姓名 Date birthday;/ 出生年月 String address;/家庭住址 String
8、 tel;/ 联系电话 /* * param args */ public static void main(String args) /入口方法 Student student = new Student();/创建类的对象 student.identity = 1L;/给属性赋值 = 辛海阳;/属性也称为成员变量 / String转Date DateFormat dateFormat = new SimpleDateFormat(yyyy-MM-dd); /给日期型成员变量赋值 try /try/catch异常处理语句块 student.birthday = da
9、teFormat.parse(1994-10-18); catch (ParseException e) e.printStackTrace(); student.address = 中国江苏省泰州市; student.tel = System.out.println(学号: + student.identity); System.out.println(姓名: + ); System.out.println(出生年月: + dateFormat.format(student.birthday);/Date转String System.ou
10、t.println(家庭住址: + student.address); System.out.println(联系电话: + student.tel); ,第1章目录,6.3 代码分析,1122,6.3 代码分析,应用扩展 对类Student的测试是在类的内部main()方法中进行的。 更多的情况下,新建一个StudentTest测试类,对类Student进行测试。每个类单独为一个源代码文件。 上面的代码改写如下: package com.task06;/创建包com.task06 import java.util.Date; /* * Student.java *学生信息管理系统中类描述 *
11、/ public class Student /自定义类Student long identity;/ 学号 String name;/ 姓名 Date birthday;/ 出生年月 String address;/家庭住址 String tel;/ 联系电话 package com.task06; import java.text.DateFormat;/导入程序中用到的系统类 import java.text.ParseException; import java.text.SimpleDateFormat; /* * StudentTest.java * Student类的测试类 */
12、 public class StudentTest /定义测试类 /* * param args */ public static void main(String args) /入口方法 Student student = new Student();/定义类Student的对象 student.identity = 1L; = 辛海阳; / String转Date DateFormat dateFormat = new SimpleDateFormat(yyyy-MM-dd); try / try/ catch异常处理语句块 student.birthday =
13、dateFormat.parse(1994-10-18); catch (ParseException e) e.printStackTrace(); student.address = 中国江苏省泰州市; student.tel = System.out.println(学号: + student.identity); System.out.println(姓名: + ); System.out.println(出生年月: + dateFormat.format(student.birthday);/Date转String System.
14、out.println(家庭住址: + student.address); System.out.println(联系电话: + student.tel); ,第1章目录,1222,6.4 必备知识,6.4.1 类与对象概念与特征 Java语言编写的程序是由类构成的,要开发优秀的软件,必须具有正确的面向对象的思想。因此,正式使用Java语言进行程序设计之前,必须先将自己的思想转入一个面向对象的世界。只有做好这个准备工作,才能体会到Java的易学易用。 1. 对象 客观世界是由事物构成的,客观世界中的每一个事物就是一个对象。例如,任务中的辛海阳同学就是一个对象,学号=1,姓名=“辛海阳”,出生年
15、月=1994-10-18,家庭住址=“中国江苏省泰州市”,联系电话=。具有上课、做作业、课后活动、休息等行为。 还有,日常生活中我们阅读的每一本书,如钢铁是怎样炼成的,乘坐过的每一辆车,如2路公共汽车,都是一个对象。,第1章目录,1322,6.4 必备知识,2. 类 类是从日常生活中抽象出来的具有共同特征的实体。辛海阳同学是一个对象,喜羊羊同学也是一个对象,他们都有学号、姓名、出生年月、家庭住址、联系电话,具有上课、做作业、课后活动、休息等行为。从对象的共同特征抽象形成学生,此时,学生就是一个类。任务中Student就是抽象形成的一个类。 类可以分为系统类和用户自
16、定义类。系统类存放在Java类库中,用户自定义类是程序员自己定义的类。例如,Student类中用到的Date类、DateFormat类、ParseException类、System类是系统类,不需要定义,直接使用。Student类是用户自定义类,定义后方可使用。 类将现实世界中的概念模拟到计算机程序中。类具有封装性、继承性和多态性。,第1章目录,1422,6.4.2 属性和方法 类包括属性和方法两部分。 属性是用于描述对象静态特征的数据项,这种静态特征指对象的结构特征。例如,任务中辛海阳同学的学号、姓名、出生年月、家庭住址、联系电话等数据项,称为辛海阳对象的属性。 对象的属性表示对象的状态。有
17、时候,属性在程序设计中也称为成员变量。 方法是用于描述对象动态特征的行为,例如,辛海阳对象具有上课、做作业、课后活动、休息等行为。行为表示对象的操作,或具有的功能,因此,对象的行为也称为方法。 所以,也可以说,属性和方法是描述对象的两个要素。 6.4.3 类与对象的关系 类是对对象的抽象描述,是创建对象的模板。对象是类的实例。对象与类的关系就像基本变量与基本数据类型的关系一样。换句话说,可以将类看成数据类型,对象看成这种类型的变量。 注意:类是抽象的概念,是一种类型,比如说:“学生”、“公共汽车”、“书”。对象是一个能够看得到、摸得着的具体实体,比如:“辛海阳同学”、“2路公共汽车”、“达芬奇
18、密码”。,第1章目录,6.4 必备知识,1522,6.4.4 定义类的语法 Java 是面向对象的语言,所有Java程序都以类class为组织单元。一个程序中至少有一个类文件。关键字class定义自定义类的数据类型。 1.定义类的格式 类的修饰符 class 类名 /定义属性部分 属性类型 属性名; /定义方法部分 方法; ,6.4 必备知识,例如,Student类的定义格式如下: public class Student /定义属性部分 long identity; / 学号 String name;/ 姓名 /定义方法部分 public void listen() ; /方法体 ,1622
19、,2.定义类的步骤 定义类分为三个步骤:定义类名、编写类的属性和编写类的方法。 定义类名 类名是一个名词,采用大小写字母混合的方式,每个单词的首字母大写。类名尽量使用完整单词,避免自己定义缩写。选择的类名应简洁,准确描述定义的类。如学生类的类名为Student。 类名不能使用Java关键字;首字符可以是“_”或“$ ”,但建议不要这样;不能含空格或“.”号。 编写类的属性 属性部分的定义与基本数据类型的变量定义相同,第一个单词的首字母小写,其后的单词首字母大写。Student类的部分属性如下: long identity;/ 学号 String name;/ 姓名 编写类的方法 方法名是一个动
20、词+名词或代词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 public void listen() ;/方法体 ,6.4 必备知识,1722,改错: 对照上面所讲的步骤,如下的类定义有哪些不对的地方? public class .Book String Book Name; String AuthorName; int page num; boolean isAvailable public void introduce self() System.out.println(BookName); 提示:有6个错误。,6.4 必备知识,1822,3.类的修饰符 通过前面
21、的学习,有的同学已经注意到,在类的定义中,出现了public关键字,在Java中,我们把类似于public的关键字称为修饰符。类的修饰符有public、abstract、final。 public称为访问修饰符,声明的类为公共类,可以被任何类引用。 如果一个Java源文件中有多个类的定义,必须有一个而且只能有一个类用public修饰,Java源文件名与public类名相同。 如果一个类没有用public修饰,则默认为friendly,表示该类只能被同一个包中的类引用。关于包的概念在下一个任务中讲解。 abstract表示声明的类为抽象类,不能实例化为对象,同时也说明类中含有抽象方法。参见任务九
22、。 final表示声明的类为最终类,不允许有子类,通常是完成一个标准功能。参见任务九。 在类的定义中,修饰符public使用较多,要理解掌握。,6.4 必备知识,1922,6.4.5 创建一个类的对象 有了类之后,接下来就是使用new创建类的一个对象。例如,Student类定义后,用下面的方法创建student对象。 Student student = new Student(); 6.4.6 使用对象 使用对象时,常常通过“.”进行操作。 1.对属性操作 访问对象的属性,采用格式:对象名.属性 例如,给类的属性赋值: = 辛海阳;,给student对象的属性name赋
23、值,值为辛海阳。 获取类的属性值:System.out.println();,获取到student对象的属性name值,然后在控制台输出。 2.使用方法 调用类的方法:对象名.方法名()。 例如,student. listen();,调用了student对象的方法。,6.4 必备知识,2022,改错: 下列类定义有哪些不对的地方? public class 提示:有5个错误。,6.4 必备知识,2122,6.4.7 编写一个银行卡类 银行卡是日常生活重要组成部分。每张银行卡信息包含账号、持卡人姓名、身份证号码、地址、存款余额。本任务只要求编写一个方法 showCardI
24、nfo(),完成存款、取款、查询。 当存款操作后,显示原有余额、本次存款数额及最终存款余额;当取款操作时,显示原有余额、今日取款数额及最终存款余额。,6.4 必备知识,图6-3 银行卡类测试运行结果,2222,代码如下: package com.task06; public class AccountCard String account; String name; String passportCode; String address; double balance; public void showCardInfo(double cash)/定义AccountCard类的一个行为(或方法)
25、 /存款 System.out.println(=存款=); System.out.println(您的卡号:+account); System.out.println(您的姓名:+name); System.out.println(原有余额:+balance); System.out.println(现存入: +cash); balance=balance+cash; System.out.println(最终存款余额:+balance); /查询 System.out.println(=查询=); System.out.println(您的余额是:+balance); /取款 System.out.println(=取款=); S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年方便面行业食品安全与质量监管合作协议
- 2025版还建房项目配套设施租赁服务合同
- 二零二五年度酒店餐饮业内部承包经营合同
- 2025年电脑维修保养服务及智能化维修解决方案合同
- 2025年度高速公路工程招投标代理服务居间协议
- 二零二五年度单休制宠物护理师劳动合同范本(宠物服务)
- 二零二五年度创新型中小企业贷款咨询专项服务协议书
- 二零二五年度财务人员保密协议及高管离职竞业禁止协议
- 2025版高新技术开发区土地租用合同协议
- 2025版个人消费贷款合同
- 《西游记》中师徒四人形象的现代解读与意义
- 成人重症患者人工气道湿化护理专家共识
- TCESA1281-2023TCCSA458-2023制造企业质量管理能力评估规范
- 2025年小学语文毕业升学考试全真模拟卷(语文综合运用能力提升版)试卷
- 2025年房屋漏水检测报告和鉴定报告
- T-CSTM 00824-2023 承压设备残余应力测定 压入能量差法
- 医院应依法设立35个委员会或领导小组相关法律依据
- 吊装作业技术交底内容
- 登革热及手足口病的护理
- 学校综合实践协议书
- 高压试验检测合同协议
评论
0/150
提交评论