版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第课Java面向对象编程基础(二)PAGE第课Java面向对象编程基础(二)PAGE108Java面向对象编程基础(二)第课PAGE98Java面向对象编程基础(二)第课PAGE98
课题Java面向对象编程基础(二)课时2课时(90min)教学目标知识技能目标:(1)了解修饰符的访问范围(2)掌握static、abstract、fina的修饰类和方法(3)掌握包的特点以及在Eclipse中创建包思政育人目标:(1)引导学生通过对修饰符访问范围的学习,来编写简单的程序,树立学生实事求是、一丝不苟的科学精神(2)引导学生运用所学知识揭示生活中的奥秘,在实践中深化认识,达到学以致用的目的教学重难点教学重点:掌握包中创建类的具体方法教学难点:能使用访问控制修饰符教学方法情景模拟法、问答法、讨论法教学用具电脑、投影仪、多媒体课件、教材、文旌课堂APP教学设计第1节课:传授新知(33min)
知识拓展(5min)第2节课:上机实操1(20min)
课堂演示(20min)
课堂小结(3min)
作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学复习上节课所学知识【学生】复习上节课所学知识通过课前复习,让学生重温上节课所学知识,使其能够更好地接受新知识考勤
(2min)【教师】使用文旌课堂APP进行签到【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况问题导入
(5min)【教师】提出以下问题:在JAVA编程技术一书中读到关于synchronized方法的内容,该方法用来控制多个并发线程对共享数据的访问,在其执行之前要求一个锁.这其中的锁是什么意思?还有对于类方法,方法的类使用与类对象相联系的锁;对于实例变量,该变量使用与this相联系的锁.这句话又是什么意思?【学生】思考、讨论、举手发言通过问题导入,引导学生思考,调动学生的主观能动性传授新知
(23min)【教师】通过大家的发言,引入新的知识点,讲解修饰符和包4.4.1访问控制修饰符访问控制修饰符的访问范围1.private:private修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private修饰符具有最高的保护级别。2.friendly:如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制特性规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性(packageprivate)。3.protected:protected修饰的类成员可以被该类自身、与它在同一个包中的其他类及在其他包中的该类的子类所访问。使用protected修饰符的主要作用是允许其他包中它的子类来访问父类的特定成员变量和成员方法。4.public:public修饰的类可以被其他类访问,在不同包中访问和引用其他类时,需要在程序中使用import语句导入public类。【教师】演示例题4-6【学生】观看程序运行结果【教师】对程序进行分析:本例题中idNumber是私有变量,不能在其他类中赋值。4.4.2static关键字1.类型:静态成员变量和实例成员变量。2.区别:第一次调用类的时候,系统为静态变量分配一次内存,不管以后创建多少个类的对象,所有对象都共享该类的静态变量。3.static关键字也可以修饰成员方法,即将成员方法分为静态方法(又称类方法)和实例方法。带有static修饰符的方法称为静态方法,不加static修饰符的方法称为实例方法,它们的用法与变量类似。【教师】通过演示例题4-7,熟悉static关键字修饰成员变量。【学生】理解静态变量的操作【教师】对程序进行分析:本例题中time是静态变量,通过bell对象设置该值,watch对象调用该变量时该值已经存在,因此,调用getTime()方法输出的时间是一样的。4.4.3abstract关键字1.abstract类:带有abstract修饰符的类称为抽象类,相当于类的抽象。一个抽象类可以包含抽象方法,它不具备具体功能,只用于衍生出子类。因此,抽象类不能实例化。2.abstract方法:带有abstract修饰的方法称为抽象方法,是指没有方法体的方法,且抽象方法只能出现在抽象类中。4.4.4final关键字1.final类:带有final修饰符的类称为最终类。不能通过扩展最终类来创建新类。也就是说,它不能被继承,或者说它不能派生子类。当某个类设置为final类时,类中的所有方法都被隐式地设置为final形式。但是final类中的成员变量可以定义为final形式,也可以定义为非final形式。2.final方法:带有final修饰符的方法称为最终方法。在面向对象程序设计中,子类可以覆盖父类的方法。常将父类中的关键方法用final关键字修饰,以此防止子类对父类的关键方法进行修改,保证了程序的安全性。3.final变量:带有final修饰符的变量称为最终变量。final关键字修饰基本数据类型的变量时,该变量即为常量。4.5包包的特点1.同一包中类的名字不能相同,但不同包中类的名字可以相同2.包中定义的类必须通过包名访问。3.包也限定了访问权限,拥有某个包访问权限的类才能访问包中的类。4.5.1创建包在Eclipse中创建包和在包中创建类的具体步骤1.启动Eclipse,在Eclipse窗口的菜单栏中选择“文件”→“新建”→“包”选项。2.打开“新建Java包”对话框,在“名称”编辑框中输入包名,如chapter4,其他使用默认设置,然后单击“完成”按钮。3.返回Eclipse窗口,在包资源管理器中右击“chapter4”,在弹出的快捷菜单中选择“新建”→“类”选项。4.打开“新建Java类”对话框,在“名称”编辑框中输入文件名,如Book,其他使用默认设置,然后单击“完成”按钮,完成Java类的创建。5.返回Eclipse窗口,在chapter4包下显示新建的Book类。打开Book.java的编辑界面可以看到,类的第一行指定了包名,如“packagechapter4;”。4.5.2导入包1.如果某个类想要使用其他包中的类,应在该类中使用import语句,导入外部类。如果类中有package语句,import语句应紧跟在package语句后。如果程序中没有package语句,import语句应作为程序的第一条语句,并且import语句可以有多条,以导入多个包中的类。2.import语句使用方法(1)单类导入,表示导入包中的指定公共类。语法格式:import包名.公共类名;按需导入,表示根据需要导入包中的所有公共类。import包名.*;如果想要分别导入
chapter4
和chapter4.example4_8包中的类,必须在程序中输入两条import语句。//按需导入chapter4包中的公共类importchapter4.*;chapter4.example4_8importchapter4.example4_8.*;【教师】演示例题4-8,并对重要语句进行分析【学生】聆听、理解、记录4.5.3Java常用的包【学生】聆听、思考、理解、记忆通过教师在课堂上对修饰符关键字的讲解,使学生熟练掌握其编程方法知识拓展
(5min)【教师】讲解最新的Java编程规范【学生】聆听、记录、思考学生可进一步巩固知识第二节课上机实操
(20min)【教师】组织学生在机房使用文本编辑编写程序,运用课堂所学知识和基础在Java运行环境中编写程序,实现以下目的:模拟贷款系统,根据输入的贷款年利率、贷款年限和贷款总额,计算等额本息情况下的月均还款额和总还款额并输出。【学生】上机实操,模拟贷款系统【教师】巡视机房,及时解决学生遇到的问题通过上机实操,使学生熟练掌握使用关键字编写程序的方法课堂演示
(20min)【教师】带领学生分析上机操作中出现的问题,并作出分析【问题分析】创建包chapter4.example4_9,在该包下创建Loan类和LoanTest类。Loan类实现计算等额本息情况下的月均还款额和总还款额,LoanTest类实现输入贷款年利率、贷款年限和货款总额,然后创建Loan类的对象,最后调用Loan类中的方法计算月均还款额和总还款额并输出。等额本息情况下的计算方法为:月均还款额=(贷款总额×月利率×(1+月利率)还款月数)/((1+月利率)还款月数−1),其中月利率=年利率/12,还款月数=贷款年限×12。总还款额计算方法为:总还款额=月均还款额×12。【教师】利用多媒体演示具体操作过程【参考代码】/*Loan.java*/packagechapter4.example4_9;publicclassLoan{ privatedoublemonthlyInterestRate; //定义贷款月利率 privateintnumberOfMonths; //定义贷款总月数 privatedoubleloanAmount; //定义贷款总额 //构造方法,初始化成员变量 publicLoan(doubleannualInterestRate,intnumberOfYears,doubleloanAmount){ //计算月利率,由于年利率用百分比表示,故此处须除以100 this.numberOfMonths=numberOfYears*12;//计算还款月数 this.loanAmount=loanAmount; } //定义方法,计算等额本息还款方式下的月均还款额并返回 publicdoublegetMonthlyPayment(){ return(loanAmount*monthlyInterestRate*Math.pow( 1+monthlyInterestRate,numberOfMonths)) } //定义方法,实现计算等额本息还款方式下还款总额并返回 publicdoublegetTotalPayment(){ returngetMonthlyPayment()*numberOfMonths; }}/*LoanTest.java*/packagechapter4.example4_9;importjava.util.Scanner;publicclassLoanTest{ publicstaticvoidmain(String[]args){ doubleinterestrate; //定义贷款年利率 intloanperiod; //定义贷款年限 doubleloanvalue; //定义贷款总额 Scannerscan=newScanner(System.in); System.out.print("请输入贷款年利率:"); interestrate=scan.nextDouble(); //输入贷款年利率 System.out.print("请输入贷款年限(年):"); loanperiod=scan.nextInt(); //输入贷款年限 System.out.print("请输入贷款总额(元):"); loanvalue=scan.nextDouble(); //输入贷款总额 //创建Loan类对象 Loanloan=newLoan(interestrate,loanperiod,loanvalue); System.out.println("等额本息情况下的月均还款额为:" +loan.getMonthlyPayment()+"元"); System.out.println("贷款"+loanperiod+"年的还款总额为:" +loan.getTotalPayment()+"元"); scan.close(); }}【运行结果】【学生】上机实操,根据老师的演示上机实操总结自己的不足通过演示让学生找出自己的不足,从而牢固的掌握知识点课堂小结
(3min)【教师】简要总结本节课的要点本节课学习了修饰符的访问范围、关键字的使用方法,包的特点,以及创建和导入。并通过上机实操让大家熟练掌握了怎样子在包下创建类。希望大家课下多加练习,巩固所学知识。【学生】总结回顾知识点总结知识点,巩固印象作业布置
(2min)【教师】布置课后作业定义一个店员类Sa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店采购协议模板
- 公积金个人借款合同格式
- 音乐专辑购销协议
- 工程承包合同协议
- 长期租赁合同续签条件
- 出国留学合同书
- 购销合同范本版在线阅读
- 2024技术开发合同免税政策条例须知
- 债权债务抵消合同
- 如何确认房屋买卖合同无效
- 农机交通安全课件视频
- 注射相关感染预防与控制
- 2024年度-常规心电图操作培训课件
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 廉政风险防控工作方案
- 人教版七年级数学下册 5.2.2 平行线的判定(教学设计)
- 餐饮店周年庆活动方案
- 成人防溺水安全教育
- 设备管理制度的法律法规和合规要求
- T-CACM 1420-2022 中成药安慰剂模拟效果评价规范
- 二年级上册加减混合计算400题及答案
评论
0/150
提交评论