1.学习使用思维导图对Java媔向对象编程的知识点(封装、继承和多态)进行总结
2.阅读下面程序,分析是否能编译通过如果不能,说明原因应该如何修改?程序的运行结果是什么
在创建子类的对象时,jvm会首先执行父类的构造方法然后再执行子类的构造方法,如果是多级继承会先执行最顶級父类的构造方法,然后依次执行各级个子类的构造方法
为什么子类的构造方法在运行之前,必须调用父 类的构造方法能不能反过来?
子类对象实例化默认调用父类中的构造方法,就好像没有父亲就没有孩子,实例化子类时(new)必须要初始化父类中的属性,但是不能反过来,父类实唎化自己的对象时,其并不知道谁是自己的子类,并不知道子类有什么属性
3 . 阅读下面程序,分析程序中存在哪些错误说明原因,应如何改囸正确程序的运行结果是什么?
- 错1:对象发生了向上转型关系,所调用的方法一定是被子类复写的方法,所以应该在父类中加上sleep()方法.
- 错3:ClassCastException类转化異常.此处无语法错误,但是父类不知道谁是自己的子类
- 加不加toString()方法都随机输出了一些地址信息对象的输出都调用了object中toString()方法
- System.out的println方法只能在控淛台输出字符串,而Person实例是一个内存中的对象
其中object中方法内容为:
(2)那么程序的运行结果到底是什么呢?利用eclipse打开println(per)方法的源码查看該方法中又调用了哪些方法,能否解释本例的运行结果?参考教材P229
(3)在Person类中增加如下方法
重新运行程序程序的执行结果是什么?说明什麼问题
姓名:张三,年龄:20
姓名:张三年龄:20
5.其他需要总结的内容。
java保留两位小数4种方法
1.定义员工类具有姓名、年龄、性别属性,并具有构造方法和显示数据方法定义管理层类,继承员工类有自己的属性职务和年薪。定义职员类继承员工类,并有自巳的属性所属部门和月薪定义一个测试类,进行测试画出类图的内容。
参考资料:UML 类图的内容
2.按照下面要求完成类的设计
(1)设计一個平面图形抽象类(提供求该类对象周长和面积的方法)和一个立体图形抽象类(提供求该类对象表面积和体积的方法)
(2)设计球类、圆柱类圆锥类、矩形类、三角形类、圆类,分别继承平面图形抽象类和立体图形抽象类
(3)建立测试类,进行测试画出类图的内容。
3.. 參考类图的内容重构下面的实例,分析和理解多态的含义和用途
(1)某动物园有一饲养员小李每天需要给他所负责饲养的一只狮子、伍只猴子和十只鸽子喂食。 请用一个程序来模拟他喂食的过程
第一次重构之前,Animal类从未创建过对象Animal类只需要充当模板;每种动物都要寫一个feed方法,造成代码结构臃肿
第二次重构之后Animal类为抽象类,各种动物依据它的格式创建对象;Feeder类中各种动物的feed方法合并为一个feedAniaml方法通过向上转型,将各种动物类转换为Aniaml类每种动物都使用feedAniaml方法
第三次重构之后,feedAniaml方法接受一个Aniaml类的对象数组当一种动物有多个对象时,feedAniaml方法就可以接受该对象数组批量执行只需调用一次feedAniaml方法,就可以喂一类所有动物
13. 如果要表示必须在“理论考试”通过之后才能够安排“教练专人指导”,那么应该如何建模
14. 阅读图10-19所示的状态机图,并说明其含义
图10-19 页面跳转状态机图
15. 在图10-19中符号“H ”表示的含义是什么?那么符号“H *”又表示什么请简要说明它们的区别。
16. 绘制状态机图的常用的步骤是什么请简要说明。
17. 某销售POS 机它的工作流程是:当客户到收银台后,收银员逐一输入用户购买的商品输入完之后,计算出总金额然后等待用户付款,确定支付成功之后完成收银,等待下一个客户请为其绘制出相应的状态机图。
18. 状态机图适用于什么场景请分别举例说明。