一、学习要点

认真看书并查阅相关资料,掌握以下内容:

  • 掌握抽象类的设计
  • 掌握接口的设计
  • 理解简单工厂设计模式
  • 理解抽象类和接口的区别
  • 掌握包装类的应用
  • 掌握对象的比较方法和比较器的使用
  • 学习使用日期操作类
  • 学习匿名内部类的使用

二、作业要求

发布一篇随笔,主要包括以下几部分的内容:

(一)学习总结

1.在上周完成的思维导图基础上,补充本周的学习内容,对Java面向对象编程的知识点做一个全面的总结。

参考资料: XMind

2.汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则同时具有载客量和载货量。用面向对象编程思想分析上述问题,将其表示成合适的类、抽象类或接口,说明设计思路并画出类图。

工具:PowerDesigner
参考教程:UML 简介

3.阅读下面程序,分析代码是否能编译通过,如果不能,说明原因,并进行改正。如果能,列出运行结果

    interface Animal{    void breathe();void run();void eat();}class Dog implements Animal{public void breathe(){System.out.println("I'm breathing");}void eat(){System.out.println("I'm eating");}}public class Test{public static void main(String[] args){Dog dog = new Dog();dog.breathe();dog.eat();}}

4.运行下面的程序

    import java.util.Arrays;public class Test{public static void main(String[] args){String[] fruits = {"peach","banana","orange","apple"};Arrays.sort(fruits);for(int i = 0;i < fruits.length;i++){System.out.println(fruits[i]);}}}

程序输出的结果是升序排序的。查看String 类的源码,说明是如何实现的?如果现在希望对输出的结果进行降序排序,该如何处理?修改上述代码,实现按照字母顺序逆序排序。

5.其他需要总结的内容。

(二)实验总结

实验内容:
1.某工厂生产各种音乐盒,客户无需知道音乐盒的制作过程,只需知道如何播放音乐盒即可。用简单工厂设计模式实现该过程:接口MusicBox具有方法play(),两个音乐盒类PianoBox,ViolinBox,MusicBoxFactory 产生MusicBox的实例。
2.修改第三次作业的第一题,使用java.util.Date类表示职工的生日和参加工作时间,并将职工信息按照生日大小排序后输出。(分别用comparable和comparator实现)
3.在案例宠物商店的基础上,实现以下功能:
(1)展示所有宠物
(2)购买宠物
(3)显示购买清单

完成实验内容,代码上传到码云,并对完成实验内容过程中遇到的问题、解决方案以及程序的设计思路和思考等进行归纳总结。
格式如下:
程序设计思路:XXXXXXX
问题1:XXXXXXX
原因:XXXXXXX
解决方案:XXXXXXX
问题2:XXXXXXX
原因:XXXXXXX
解决方案:XXXXXXX

(三)代码托管(务必链接到你的项目

  • 码云commit历史截图
    上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图。

三、评分标准

  • 作业总分10分,以0.5分为最小打分单位。
  • 程序(5分):本次实验内容有三道题
    - 少一题扣1分。格式不规范扣1分,程序有错误扣1-2分。
  • 学习总结(3分)
    - 内容丰富,有自己的总结、思考和论述--3分
    - 有自己的总结和论述--1-2分
    - 大段文字复制,无自己的总结归纳--0分
  • 实验总结(2分)
    - 总结内容丰富--2分
    - 条理不清晰,应付了事--0-1分
  • 附加分:积极参与博客互评和互动,有实质内容加0.5-1分
  • 没有按时提交作业,则本次作业为0分。
  • 作业抄袭,倒扣10分。

随笔必须采用MarkDown格式,可参考作业模板

转载于:https://www.cnblogs.com/hebau-may/p/6742912.html

Java第五次作业--面向对象高级特性(抽象类和接口)相关推荐

  1. Java第四次作业——面向对象高级特性(继承和多态)

    Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...

  2. 《Java技术》第三次作业--面向对象——继承、抽象类、接口

    1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparen ...

  3. Java第四次作业,面向对象高级特性(继承和多态)

    Java第四次作业-面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能,说 ...

  4. Java第三次作业——面向对象基础(封装)

    Java第三次作业--面向对象基础(封装) (一)学习总结 1.什么是面向对象的封装性,Java中是如何实现封装性的?试举例说明. 封装性就是指对外部不可见,用对象直接访问类中的属性,在面向对象法则中 ...

  5. 十三、Java高级特性 Lambda表达式 | 接口组成更新 | 方法引用 | 函数式接口

    文章目录 十三.Java高级特性 1.Lambda表达式 1.1体验Lambda表达式[理解] 1.2Lambda表达式的标准格式[理解] 1.3Lambda表达式练习1[应用] 1.4Lambda表 ...

  6. php抽象类继承抽象类,PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)...

    本文实例讲述了PHP面向对象程序设计高级特性.分享给大家供大家参考,具体如下: 静态属性 class StaticExample { static public $aNum = 0; // 静态共有属 ...

  7. Java千百问_05面向对象(004)_java接口到底是什么

    1.什么是接口 接口(interface)不是一个类,它是抽象方法的集合.一个类实现一个接口,从而继承和实现接口的抽象方法.  抽象方法看这里:java中抽象概念如何体现的 接口的特点如下,先看与类类 ...

  8. 面向对象编程(三) --- 抽象类和接口

    抽象类和接口 1抽象类 1.1抽象类的使用 2.接口 2.1接口的使用规则 2.2实现多个接口 2.3接口使用实例 2.4接口间的继承 2.5 Clonable 接口和深拷贝 1抽象类 1.1抽象类的 ...

  9. java学习笔记day09 final、多态、抽象类、接口

    java学习笔记day09 思维导图 final . 多态 . 抽象类 . 接口 (都很重要) 一.final 二.多态 多态中的成员访问特点⭐ [P237] 多态的好处 [P239] 多态的弊端 向 ...

最新文章

  1. 推荐十一个吊炸天的AI学习项目
  2. 最具体的历史centos下一个 postfix + extmail + dovecot + maildrop 安装注意事项2014更新...
  3. 【模板】EK求最大流、dinic求最大流
  4. 【OS学习笔记】十二 现代处理器的结构和特点
  5. HTML高仿哔哩哔哩(B站)视频网站整站模板
  6. 矩池云怎么上传文件夹
  7. java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener,超时处理和空循环性能优化...
  8. Apache 2 移植到Arm开发板
  9. scala面试问题_Scala高级面试问答
  10. C语言题目设圆的半径为2.5,编程该圆的周长和面积。
  11. 典型相关分析(CCA)原理及例子
  12. 机器学习(周志华) 第七章贝叶斯分类器
  13. Redis源码学习(11),t_hash.c 学习(二),hget 相关命令学习
  14. 利用Matlab App Designer简单设计程序
  15. 线性代数笔记8:矩阵的对角化
  16. SVM适合小数据量原因
  17. c语言写一个简单的小游戏-推箱子
  18. 怎么做一份漂亮的地质图
  19. 安卓手机端一键抠图,这款软件适合你
  20. Point Cloud Labeling Tool使用说明

热门文章

  1. Spring3.1.0+Quartz1.8.6整合实现计划任务
  2. Linux实验二:vi编辑器的使用
  3. pytorch学习入门 (二) Variable(变量)
  4. 算法(23)-leetcode-剑指offer7
  5. 大数据学习(09)--Hadoop2.0介绍
  6. C++基础学习(02)--(数据类型,变量类型,变量作用域,常量,修饰符类型)
  7. C++读取文件,将文件内容读到string字符串里面
  8. java.util.Array中的方法
  9. 如何高效、可移植申请内存代码。
  10. 软件工程师的十个“不职业”行为