




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,Java程序设计任务驱动式教程,主编:孙修东、王永红高职高专规划示范教材,北京航空航天大学出版社,222,目录,任务一搭建环境(构建Java集成开发环境),任务二Java欢迎你(开发简单Java应用程序,任务三小试牛刀(学习Java语言基础),任务四挑战选择(使用分支控制流程),任务五游戏人生(使用循环控制流程),任务六回归自然(创建、使用类和对象),任务七3G时代的消息传递(定义和使用类方法),任务八保护你的隐私(封装的使用),任务九子承父业(继承和多态的使用),任务十上帝万能之手(接口的使用),322,任务十一用数组存储信息(使用数组),任务十二使用字符串进行交流(使用字符串),任务十三防患于未然(捕获并处理异常),任务十四主动出击(抛出异常),任务十五认识JavaApplet(Applet入门),任务十六丰富多彩的Applet(在Applet中播放声音和显示图像),任务十七进入Windows世界(设计图形用户界面),任务十八布局规划(使用布局管理器),任务十九事件委托处理(如何处理事件),任务二十选择之道(使用选择控件和选择事件),目录,422,任务二十一简明清晰的菜单(使用菜单和其他常用事件),任务二十二访问数据(使用JDBC连接数据库),任务二十三访问数据升级(数据库编程),任务二十四文件管理(目录与文件管理),任务二十五顺序进出之道(文件的顺序访问),任务二十六随机进出之道(文件的随机访问),任务二十七JAVA的分身术(创建和启动线程),任务二十八线程的生命周期与优先级(线程的状态与调度),任务二十九基于连接的通信(Java中的套接字Socket),任务三十基于无连接的通信(Java中的数据报编程),目录,522,任务六回归自然(创建、使用类和对象),2,1,知识目标,能力目标,类与对象概念与特征、属性和方法;类与对象的关系;定义类的语法。创建类的对象;使用对象的步骤。,掌握类和对象的特征;会创建和使用类和对象。,622,内容提要,4,跟我做:学生类描述,1,2,3,5,实现方案,代码分析,必备知识,动手做一做,722,6.1跟我做:学生类描述,任务情景学生信息管理系统用于对学生信息进行管理。常常涉及到学生、教师或班主任、系部等对象。学生的信息包括学号、姓名、出生年月、家庭住址、联系电话。请对学生进行类描述,并用Java代码实现。运行结果假设有一个同学,学号=1,姓名=“辛海阳”,出生年月=1994-10-18,家庭住址=“中国江苏省泰州市”,联系电话=时,程序运行的结果如图6-1。,第1章目录,822,问题分析Java程序设计采用的是面向对象程序设计(OOP,Objected-OrientedProgramming)的方法。OOP是目前软件开发的主流方法。解决问题过程中,需要采用面向对象的分析方法和面向对象的设计方法。类的描述是使用OOP解决问题的基础。类包含属性和行为。属性指学生的学号、姓名、出生年月、家庭住址、联系电话。行为指学生上课、做作业、课后活动、休息。如图6-2。本任务只要求对属性进行描述。,第1章目录,6.2实现方案,922,解决步骤1.打开Eclipse,在study项目中创建包com.task06,再确定类名Student,得到类的框架。2.然后,在publicclassStudent下面一行输入类的属性描述:longidentity;/学号Stringname;/姓名Datebirthday;/出生年月Stringaddress;/家庭住址Stringtel;/联系电话此时,会发现,在Datebirthday;一行的左侧,出现了一个红色的符号。我们在packagecom.task06;的下面一行输入:importjava.util.Date;红色的符号将会自动消失。3.最后,将/TODOAuto-generatedmethodstub替换成:Studentstudent=newStudent();/创建类的对象/详细实现代码参见6.34.运行程序。,第1章目录,6.2实现方案,1022,程序代码packagecom.task06;/创建包com.task06importjava.text.DateFormat;/导入程序中用到的系统类importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;/*Student.java*学生信息管理系统中类描述*/publicclassStudent/属性longidentity;/学号Stringname;/姓名Datebirthday;/出生年月Stringaddress;/家庭住址Stringtel;/联系电话/*paramargs*/publicstaticvoidmain(Stringargs)/入口方法Studentstudent=newStudent();/创建类的对象student.identity=1L;/给属性赋值=辛海阳;/属性也称为成员变量/String转DateDateFormatdateFormat=newSimpleDateFormat(yyyy-MM-dd);/给日期型成员变量赋值try/try/catch异常处理语句块student.birthday=dateFormat.parse(1994-10-18);catch(ParseExceptione)e.printStackTrace();student.address=中国江苏省泰州市;student.telSystem.out.println(学号:+student.identity);System.out.println(姓名:+);System.out.println(出生年月:+dateFormat.format(student.birthday);/Date转StringSystem.out.println(家庭住址:+student.address);System.out.println(联系电话:+student.tel);,第1章目录,6.3代码分析,1122,6.3代码分析,应用扩展对类Student的测试是在类的内部main()方法中进行的。更多的情况下,新建一个StudentTest测试类,对类Student进行测试。每个类单独为一个源代码文件。上面的代码改写如下:packagecom.task06;/创建包com.task06importjava.util.Date;/*Student.java*学生信息管理系统中类描述*/publicclassStudent/自定义类Studentlongidentity;/学号Stringname;/姓名Datebirthday;/出生年月Stringaddress;/家庭住址Stringtel;/联系电话packagecom.task06;importjava.text.DateFormat;/导入程序中用到的系统类importjava.text.ParseException;importjava.text.SimpleDateFormat;/*StudentTest.java*Student类的测试类*/publicclassStudentTest/定义测试类/*paramargs*/publicstaticvoidmain(Stringargs)/入口方法Studentstudent=newStudent();/定义类Student的对象student.identity=1L;=辛海阳;/String转DateDateFormatdateFormat=newSimpleDateFormat(yyyy-MM-dd);try/try/catch异常处理语句块student.birthday=dateFormat.parse(1994-10-18);catch(ParseExceptione)e.printStackTrace();student.address=中国江苏省泰州市;student.telSystem.out.println(学号:+student.identity);System.out.println(姓名:+);System.out.println(出生年月:+dateFormat.format(student.birthday);/Date转StringSystem.out.println(家庭住址:+student.address);System.out.println(联系电话:+student.tel);,第1章目录,1222,6.4必备知识,6.4.1类与对象概念与特征Java语言编写的程序是由类构成的,要开发优秀的软件,必须具有正确的面向对象的思想。因此,正式使用Java语言进行程序设计之前,必须先将自己的思想转入一个面向对象的世界。只有做好这个准备工作,才能体会到Java的易学易用。1.对象客观世界是由事物构成的,客观世界中的每一个事物就是一个对象。例如,任务中的辛海阳同学就是一个对象,学号=1,姓名=“辛海阳”,出生年月=1994-10-18,家庭住址=“中国江苏省泰州市”,联系电话=。具有上课、做作业、课后活动、休息等行为。还有,日常生活中我们阅读的每一本书,如钢铁是怎样炼成的,乘坐过的每一辆车,如2路公共汽车,都是一个对象。,第1章目录,1322,6.4必备知识,2.类类是从日常生活中抽象出来的具有共同特征的实体。辛海阳同学是一个对象,喜羊羊同学也是一个对象,他们都有学号、姓名、出生年月、家庭住址、联系电话,具有上课、做作业、课后活动、休息等行为。从对象的共同特征抽象形成学生,此时,学生就是一个类。任务中Student就是抽象形成的一个类。类可以分为系统类和用户自定义类。系统类存放在Java类库中,用户自定义类是程序员自己定义的类。例如,Student类中用到的Date类、DateFormat类、ParseException类、System类是系统类,不需要定义,直接使用。Student类是用户自定义类,定义后方可使用。类将现实世界中的概念模拟到计算机程序中。类具有封装性、继承性和多态性。,第1章目录,1422,6.4.2属性和方法类包括属性和方法两部分。属性是用于描述对象静态特征的数据项,这种静态特征指对象的结构特征。例如,任务中辛海阳同学的学号、姓名、出生年月、家庭住址、联系电话等数据项,称为辛海阳对象的属性。对象的属性表示对象的状态。有时候,属性在程序设计中也称为成员变量。方法是用于描述对象动态特征的行为,例如,辛海阳对象具有上课、做作业、课后活动、休息等行为。行为表示对象的操作,或具有的功能,因此,对象的行为也称为方法。所以,也可以说,属性和方法是描述对象的两个要素。6.4.3类与对象的关系类是对对象的抽象描述,是创建对象的模板。对象是类的实例。对象与类的关系就像基本变量与基本数据类型的关系一样。换句话说,可以将类看成数据类型,对象看成这种类型的变量。注意:类是抽象的概念,是一种类型,比如说:“学生”、“公共汽车”、“书”。对象是一个能够看得到、摸得着的具体实体,比如:“辛海阳同学”、“2路公共汽车”、“达芬奇密码”。,第1章目录,6.4必备知识,1522,6.4.4定义类的语法Java是面向对象的语言,所有Java程序都以类class为组织单元。一个程序中至少有一个类文件。关键字class定义自定义类的数据类型。1.定义类的格式类的修饰符class类名/定义属性部分属性类型属性名;/定义方法部分方法;,6.4必备知识,例如,Student类的定义格式如下:publicclassStudent/定义属性部分longidentity;/学号Stringname;/姓名/定义方法部分publicvoidlisten();/方法体,1622,2.定义类的步骤定义类分为三个步骤:定义类名、编写类的属性和编写类的方法。定义类名类名是一个名词,采用大小写字母混合的方式,每个单词的首字母大写。类名尽量使用完整单词,避免自己定义缩写。选择的类名应简洁,准确描述定义的类。如学生类的类名为Student。类名不能使用Java关键字;首字符可以是“_”或“$”,但建议不要这样;不能含空格或“.”号。编写类的属性属性部分的定义与基本数据类型的变量定义相同,第一个单词的首字母小写,其后的单词首字母大写。Student类的部分属性如下:longidentity;/学号Stringname;/姓名编写类的方法方法名是一个动词+名词或代词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。publicvoidlisten();/方法体,6.4必备知识,1722,改错:对照上面所讲的步骤,如下的类定义有哪些不对的地方?publicclass.BookStringBookName;StringAuthorName;intpagenum;booleanisAvailablepublicvoidintroduceself()System.out.println(BookName);提示:有6个错误。,6.4必备知识,1822,3.类的修饰符通过前面的学习,有的同学已经注意到,在类的定义中,出现了public关键字,在Java中,我们把类似于public的关键字称为修饰符。类的修饰符有public、abstract、final。public称为访问修饰符,声明的类为公共类,可以被任何类引用。如果一个Java源文件中有多个类的定义,必须有一个而且只能有一个类用public修饰,Java源文件名与public类名相同。如果一个类没有用public修饰,则默认为friendly,表示该类只能被同一个包中的类引用。关于包的概念在下一个任务中讲解。abstract表示声明的类为抽象类,不能实例化为对象,同时也说明类中含有抽象方法。参见任务九。final表示声明的类为最终类,不允许有子类,通常是完成一个标准功能。参见任务九。在类的定义中,修饰符public使用较多,要理解掌握。,6.4必备知识,1922,6.4.5创建一个类的对象有了类之后,接下来就是使用new创建类的一个对象。例如,Student类定义后,用下面的方法创建student对象。Studentstudent=newStudent();6.4.6使用对象使用对象时,常常通过“.”进行操作。1.对属性操作访问对象的属性,采用格式:对象名.属性例如,给类的属性赋值:=辛海阳;,给student对象的属性name赋值,值为辛海阳。获取类的属性值:System.out.println();,获取到student对象的属性name值,然后在控制台输出。2.使用方法调用类的方法:对象名.方法名()。例如,student.listen();,调用了student对象的方法。,6.4必备知识,2022,改错:下列类定义有哪些不对的地方?publicclass提示:有5个错误。,6.4必备知识,2122,6.4.7编写一个银行卡类银行卡是日常生活重要组成部分。每张银行卡信息包含账号、持卡人姓名、身份证号码、地址、存款余额。本任务只要求编写一个方法showCardInfo(),完成存款、取款、查询。当存款操作后,显示原有余额、本次存款数额及最终存款余额;当取款操作时,显示原有余额、今日取款数额及最终存款余额。,6.4必备知识,图6-3银行卡类测试运行结果,2222,代码如下:packagecom.task06;publicclassAccountCardStringaccount;Stringname;StringpassportCode;Stringaddress;doublebalance;publicvoidshowCardInfo(doublecash)/定义AccountCard类的一个行为(或方法)/存款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(=取款
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年网络技术师资格考试试题及答案
- 2025年经济法理论与实务考试试题及答案
- 2025年城市可持续发展研究生入学考试题及答案
- 虚拟货币挖矿数据安全与隐私保护合同
- 水路运输货物损失理赔争议调解协议
- 丧偶父母抚养费逾期支付违约责任协议
- 服务业劳务派遣职业健康安全防护合同
- 国际药品临床试验质量管理与风险评估协议
- 生物环保技术研发实验室共建与市场推广合同
- 地球化学测绘合伙人资源勘查协议
- 人工智能设计伦理知到智慧树章节测试课后答案2024年秋浙江大学
- 蒸汽疏水器原理及简介课件
- 部编版语文四年级下册第六单元 复习课件
- 蒸汽暖管方案
- 新中考考试平台-考生端V2.0使用手册
- DB12-474-2012公用纺织产品通用技术要求
- 基础会计课件(完整版)
- 管理者的职业素养及能力
- 2022年国企集团公司职工代表大会制度国企职工代表大会提案
- 国家开放大学计算机应用基础(本) 终结性考试试题及参考答案
- 诊所备案申请表格(卫健委备案)
评论
0/150
提交评论