实验四 java面向对象(下)

一、实验目的:
1.理解面向对象继承和多态的概念;
2.掌握类的继承、方法的重写、super关键字的使用;
3.掌握final关键字、抽象类和接口以及多态的使用;
4.了解什么是异常,掌握异常的处理方式。

二、实验内容:
1.编写Java应用程序
(1)定义一个接口CanCry,描述会吼叫的方法public void cry()。
在这里插入图片描述
(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪”、“我是猫,我的叫声是喵喵喵”。
在这里插入图片描述
在这里插入图片描述
(3)定义一个测试类,
①定义一个static void makeCry(CanCry c)方法,其中让会吼叫的事物吼叫。
②在main方法中创建狗类对象(dog)、猫类对象(cat)、再测试类中调用makecry方法,让狗和猫吼叫。
在这里插入图片描述
2.定义一个汽车类,属性有车轮个数和车重,卡车式汽车类的子类,卡车类中有载重量的属性,面包车是卡车类的子类,属性有载客人数,构造方法,introduce方法介绍面相车的情况。有参实例化面包类对象,调用introduce方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3.设计一个Shape接口和它的两个实现类Square和Circle类,要求如下:
(1)Shape接口中有一个抽象方法area(),方法接收一个double类型的参数,返回一个double类型的结果。
(2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回。
(3)在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
4.定义一个生物类是抽象类,生物类中定义呼吸抽象方法。定义动物接口,动物接口中定义奔跑的抽象方法,定义人类继承生物类,实现动物接口,人类中定义思考方法,定义性别属性,有参实例化人类对象,人类对象调用思考方法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.设计一个学生类Student和它的一个子类Undergraduate,要求如下:
(1)Student类有name(姓名)、和age(年龄)属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息
(2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.自定义一个异常类NoThisSoundException和Player类,在Player的play()方法中使用自定义异常,要求入下:
(1)NoThisSongException继承Exception类,类中有一个无参和一个接收一个String类型参数的构造方法,构造方法中都使用super关键字调用父类的构造方法。
(2)Player类中定义一个play(int index)方法,方法接收一个int类型的参数,表示播放歌曲的索引,当index>10时,paly()方法用throw关键字抛出NoThisSongException异常,创建异常对象时,调用有参的构造方法,传入“您播放的歌曲不存在”。
(3)在测试类中创建Player对象,并调用play()方法测试自定义的NoThisSongException异常,使用try…catch语句捕获异常,调用NoThisSongException的getMessage()方法打印出异常信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值