ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:398.49KB ,
资源ID:7334683      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7334683.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java实验类与继承.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java实验类与继承.docx

1、Java实验类与继承实验报告实验课程: Java面向程序设计实验 实验内容: 类与对象 院 (系): 计算机学院 专 业: 计算机科学与技术(软件工程方向) 班 级: 学生姓名: 学 号: 指导教师: 2014年 3 月 26 日一、实验目的:1、掌握用类来封装对象的属性和行为的方法;2、掌握对象的组合和参数传递;3、掌握类变量与实例变量、类方法与实例方法的区别。二、实验内容()实验题目一:编写一个java应用程序,该程序中有两个类:Tank和Fight具体要求如下:1、Tank类有一个double类型变量speed,用于刻画坦克的速度;一个int型变量bulletAmount,用于刻画坦克的

2、炮弹数量。定义了speedUp()和speedDown()方法,体现坦克有加速、减速行为;定义了setBulletAmount(int p)方法,用于设置坦克炮弹的数量;定义了fire()方法,体现坦克有开炮行为。1 程序源代码:package p1;public class Tank double speed; int bulletAmount; void speedUp(int s) speed=s+speed; void speedDown(int d) if(speed-d=0) speed=speed-d; else speed=0; void setBulletAmount(int

3、 m) bulletAmount=m; int getBulletAmount() return bulletAmount;double getSpeed() return speed;void fire() if(bulletAmount=1) bulletAmount=bulletAmount-1; System.out.println(打出一发炮弹); else System.out.println(没有炮弹了,无法开火); package p1;public class Fight public static void main(String args) Tank tank1,tank

4、2; tank1=new Tank(); tank2=new Tank(); tank1.setBulletAmount(10); tank2.setBulletAmount(10); System.out.println(tank1的炮弹数量:+tank1.getBulletAmount(); System.out.println(tank2的炮弹数量:+tank2.getBulletAmount(); tank1.speedUp(80); tank2.speedUp(90); System.out.println(tank1目前的速度:+tank1.getSpeed(); System.o

5、ut.println(tank2目前的速度:+tank2.getSpeed(); tank1.speedDown(15); tank2.speedDown(30); System.out.println(tank1目前的速度:+tank1.getSpeed(); System.out.println(tank2目前的速度:+tank2.getSpeed(); System.out.println(tank1开火:); tank1.fire(); System.out.println(tank2开火:); tank2.fire(); tank2.fire(); System.out.printl

6、n(tank1的炮弹数量:+tank1.getBulletAmount(); System.out.println(tank2的炮弹数量:+tank2.getBulletAmount(); 2 实验结果: 图13、实验课后练习:(1)改进speedUp方法,使得Tank类的对象调用它能将Speed值超过220;答:只需加入如下代码,其实验结果如图2:void speedUp(int s) if(s+speed=200)/加入判断语句即可 speed=s+speed; 图2:tank2加速200,超过220,所以tank2数值保持不变(2)增加一个刹车方法:void brake(),Tank类的

7、对象调用它将speed的值变为0.答:只需增加如下代码:其结果如图3所示:void brake() speed=0; System.out.println(tank2加速200:); tank2.speedUp(200); System.out.println(tank2调用brake后:); tank2.brake(); 图3:可看出tank2被清零实验2:计算机与光盘1、 程序源代码:package p1;public class CD int size; int content; public void setSize(int size) this.size=size; content=

8、new intsize; public int getSize() return size; public int getContent() return content; public void setContent(int b) int min=Math.min(content.length,b.length); for(int i=0;imin;i+) contenti=bi; package p1;public class Computer int data; CD includeCD; public void putCD(CD cd) includeCD=cd; int size=i

9、ncludeCD.getSize(); data=new intsize; void copyToComputer() int b=includeCD.getContent(); int min=Math.min(data.length,b.length); for(int i=0;imin;i+) datai=bi; public void addData(int m) for(int i=0;idata.length;i+) datai=datai+m; void copyToCD() includeCD.setContent(data); void showData() for(int

10、i=0;idata.length;i+) System.out.printf(%3d,datai); package p1;public class User public static void main(String args) CD dataCD=new CD(); int b=1,2,3,4,5,6,7,8; dataCD.setSize(b.length); dataCD.setContent(b); int a=dataCD.getContent(); System.out.println(dataCD上的内容:); for(int i=0;ia.length;i+) System

11、.out.printf(%3d,ai); Computer computerIMB=new Computer(); computerIMB.putCD(dataCD); System.out.println(n将dataCD的数据复制到计算机:computerIMB); computerIMB.copyToComputer(); System.out.println(ncomputerIMB上的内容:); computerIMB.showData(); int m=12; System.out.println(ncomputerIMB将每个数据增加+m); computerIMB.addDat

12、a(m); System.out.println(computerIMB将增值后的数据复制到CD:dataCD); computerIMB.copyToCD(); System.out.println(dataCD上的内容:); a=dataCD.getContent(); for(int i=0;ia.length;i+) System.out.printf(%3d,ai); 2、实验结果:图42、 实验课后练习:主类中再添加一个CD的对象,然后将计算机中的数据(data数组)复制到CD对象中。答:只需增加如下代码,实验结果如图5public int getData() return dat

13、a;CD newCD=new CD(); computerIMB.copyToCD(); newCD.setSize(computerIMB.getData().length); newCD.setContent(computerIMB.getData(); System.out.println(nnewCD上的内容:); a=newCD.getContent(); for(int i=0;ia.length;i+) System.out.printf(%3d,ai); 图5实验3 家族的姓氏1、 程序源代码:package p1;public class FamilyPerson stati

14、c String surname; String name; public static void setSurname(String s) surname=s; public void setName(String s) name=s; package p1;public class MainClass public static void main(String args) FamilyPerson.surname=李; FamilyPerson father,sonOne,sonTwo; father=new FamilyPerson(); sonOne=new FamilyPerson

15、(); sonTwo=new FamilyPerson(); father.setName(向阳); sonOne.setName(抗日); sonTwo.setName(抗战); System.out.println(父亲:+father.surname+father.name); System.out.println(大儿子:+sonOne.surname+sonOne.name); System.out.println(二儿子:+sonTwo.surname+sonTwo.name); father.setSurname(张); System.out.println(父亲:+father

16、.surname+father.name); System.out.println(大儿子:+sonOne.surname+sonOne.name); System.out.println(二儿子:+sonTwo.surname+sonTwo.name); 2、实验结果: 图63、实验后的练习(1) 代码3是否可以是FamilyPerson.setSurname(“张”);答:可以,因为该方法是类方法可以用类名调用。(2) 能否将主类中的代码:sonOne.setName(“抗日”);修改为:FamilyPerson.setName(“抗日”);答:不行,因为FamilyPerson只是个类名,不是具体的实例。只有静态方法才能被类名调用。二. 个人小结通过本次实验,了解到了类与对象,使用new运算符和类的构造方法创建对象,熟悉了类方法、类变量,实例方法、实例变量,明白了Java程序是由若干个类所构成。了解到了对象的组合以及参数传递,在实验过程中,由于理解题目错误,导致离题,经过老师的提醒,终于写出了正确答案。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1