Java第五次作业--面向对象高级特性(抽象类与接口)

mac2022-06-30  92

(一)学习总结

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

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

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(); } }

这个程序不能运行 原因:不降低自Animal的继承的方法的可视性 类型Dog必须实现继承的抽象方法Animal 将:

class Dog implements Animal{ public void breathe(){ System.out.println("I'm breathing"); } void eat(){ System.out.println("I'm eating"); } }

改为:

class Dog implements Animal{ public void breathe(){ System.out.println("I'm breathing"); } public void eat(){ System.out.println("I'm eating"); } public void run() { } }

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]); } } }

运行结果: apple banana orange peach 修改后为:

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 = fruits.length-1; i >= 0; i--) { System.out.println(fruits[i]); } } }

(二)实验总结

实验内容:

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

(三)代码托管

https://git.oschina.net/hebau_cs15/java-cs01fs.git

转载于:https://www.cnblogs.com/fsaixuexi/p/6762887.html

最新回复(0)