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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(Java语言程序设计郑莉第四章课后习题答案解析.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java语言程序设计郑莉第四章课后习题答案解析.docx

1、Java语言程序设计郑莉第四章课后习题答案解析Java语言程序设计第四章课后习题答案1.子类将继承父类所有的属性和方法吗?为什么?答:不,子类不能直接访问从父类中继承的私有属性及方法,但可以对公有及保护方法进行访问。2.方法的覆盖与方法的重载有何不同?答:覆盖是运用在子类中实现与父类相同的功能,但采用不同的算法或公式;在名字相同的方法中,要做比父类更多的事情;在子类中需要取消从父类继承的方法。3.声明两个带有无参构造方法的两个类A和B,声明A的子类C,并且声明B为C的一个成员,不声明C 的构造方法。编写测试代码,生成类C的实例对象,并观察结果。/A类public class A public

2、A () System.out.println (输出A类); /B类public class B public B () System.out.println (输出B类); /C类public class C extends A B b = new B ();/测试类public class test4_3 public static void main (String args) C c = new C(); 运行结果:4.声明一个基类A,它只有一种非默认构造方法;声明A的子类B,B具有默认方法及非默认方法,并在B的构造方法中调用基类A的构造方法。/A类public class A pu

3、blic A (String lin) System.out.println(A类的非默认构造方法 +lin); /B类public class B extends A public B () super (Fuck your teacher); System.out.println (B默认类构造方法); public B (String lin) super (lin); System.out.println (B类非构造方法); /测试类public class test4_4 public static void main (String args) new B(); System.o

4、ut.println (); new B(Fuck my teacher); 运行结果:5.声明一个类,它具有一种方法,此方法被重载三次,派生一个新类,并增加一种新的重载方法,编写测试类验证四种方法对于派生类验证四种方法对于派生类都有效。/A类public class A public void showTime () System.out.println (空重载); public void showTime (int l) System.out.println (整形参数重载); public void showTime (char l) System.out.println (字符参数重

5、载); /B类public class B extends A public void showTime (String l) System.out.println (字符串参数重载); /测试类public class test4_5 public static void main (String args) B b = new B(); b.showTime(); b.showTime(5); b.showTime(f); b.showTime(林楚金); 6.声明一个具有final方法的类,声明一个派生类,并试图对这个方法进行重写,会有什么结果。/A类public class A pub

6、lic final void showTime() System.out.println (类A中方法); /B类public class B extends A public void showTime() System.out.println (类B中方法); /测试类public class test4_6 public static void main (String args) B b = new B(); b.showTime(); 运行结果:(说白了就是B中showTime()的无法覆盖A中showTime(),被覆盖为final,不能覆盖。)7.声明一个final类,并试图声明

7、其派生类,会有什么结果。/A类public final class A /B类public class B extends A/测试类public class test4_7 public static void main (String args) B b = new B(); 运行结果:(说白了就是无法从A中进行继承)8.什么是抽象类?抽象类中是否一定要包括抽象方法?答:抽象类是一个不完全的类,不能使用new方法进行实例化。抽象类可以包含抽象方法,也可以不包含抽象方法,但有抽象方法的必须是抽象类。9.this和super分别有哪些特殊含义?都有哪些种用法?答:this 表示当前类;supe

8、r 表示调用父类。在定义类的时候用到,this是当前对象的引用,super是当前对象的父类对象的引用,一般的都是把super用在构造函数中。10.完成下面父类及子类的声明:(1) 声明Student类属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。方法包括构造方法、get方法、 set方法、toString方法、equals方法、compare方法(比较两个学生的总成绩,结果分为大于、小于、等于),sum方法(计算总成绩)和testScore方法(计算评测成绩)。注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此,在每一个set方法中应

9、调用sum方法计算总成绩。public class StudentString id;String name;float scoreOfenglish;float scoreOfmath;float scoreOfcomputer;float scoreOfsum;/构造方法public Student()public Student(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer)this.id=aid;this.name=aname;this.scoreOfeng

10、lish=ascoreOfenglish;this.scoreOfmath=ascoreOfmath;this.scoreOfcomputer=ascoreOfcomputer;/this.scoreOfsum=ascoreOfenglish+ascoreOfmath+ascoreOfcomputer;this.scoreOfsum=sum();/sum方法public float sum()return(this.scoreOfenglish+this.scoreOfmath+this.scoreOfcomputer);/testScore测评成绩/平均分public float testS

11、core()return(this.scoreOfsum/3);/6个get方法 public String getid()return(id);public String getname()return(name);public float getscoreOfenglish()return(scoreOfenglish);public float getscoreOfmath()return(scoreOfmath);public float getscoreOfcomputer()return(scoreOfcomputer);public float getscoreOfsum()re

12、turn(scoreOfsum);/5个set方法public void setid(String newid)this.id=newid;public void setname(String newname)this.name=newname;public void setscoreOfenglish(float newscoreOfenglish)this.scoreOfenglish=newscoreOfenglish;this.scoreOfsum=sum();public void setscoreOfmath(float newscoreOfmath)this.scoreOfmat

13、h=newscoreOfmath;this.scoreOfsum=sum();public void setscoreOfcomputer(float newscoreOfcomputer)this.scoreOfcomputer=newscoreOfcomputer;this.scoreOfsum=sum();/toString方法public String toString()return(学号:+this.id+n姓名:+name+n英语:+this.scoreOfenglish+n数学:+this.scoreOfmath+n计算机:+this.scoreOfcomputer+n总分:+

14、this.scoreOfsum);/compare方法/比较2学生总分public void compare(Student x)if(this.getscoreOfsum()x.getscoreOfsum()System.out.println(this.getname()+总分大于+x.getname();if(this.getscoreOfsum()x.getscoreOfsum()System.out.println(this.getname()+总分小于+x.getname();else System.out.println(this.getname()+总分等于+x.getname

15、();/equals方法/比较2学生学号是否相等(还没完善)/* * public boolean equals(Object x)if(this.getClass()!=x.getClass()return false;Student b=(Student)x;if(this.id=b.getid()return true;*/(2)声明StudentXW(学习委员)类为Student类的子类。在StudentXW类中增加责任属性,并重写testScore方法(评测成绩=三门课平均分+3)public class StudentXW extends StudentString respons

16、ibility;/构造方法public StudentXW()super();/responsibility= ;public StudentXW(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility)super(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);responsibility=aresponsibility;/testScore测评成绩/平均分pub

17、lic float testScore()return(this.scoreOfsum/3+3);/toString方法public String toString()return(学号:+this.id+n姓名:+name+n英语:+this.scoreOfenglish+n数学:+this.scoreOfmath+n计算机:+this.scoreOfcomputer+n总分:+this.scoreOfsum+n职位:+this.responsibility);(3)声明StudentBZ类为Student类的子类在StudentBZ类中增加责任属性,并重写testScore方法(评测成绩=

18、三门课平均分+5)public class StudentBZ extends StudentString responsibility;/构造方法public StudentBZ()super();/responsibility=;public StudentBZ(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility)super(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfco

19、mputer);responsibility=aresponsibility;/testScore测评成绩/平均分public float testScore()return(this.scoreOfsum/3+5);/toString方法public String toString()return(学号:+this.id+n姓名:+name+n英语:+this.scoreOfenglish+n数学:+this.scoreOfmath+n计算机:+this.scoreOfcomputer+n总分:+this.scoreOfsum+n职位:+this.responsibility);4)声明测试

20、类,生成若干个Student类、StudentXW类及StudentBZ类对象,并分别计算它们的评测成绩(建议采用:写一个测试函数,该函数以父类student数组作为参数) 。import java.text.*;public class test4_10public static void main(String args) Student su=new Student(001,苏轼,56.00f,87.00f,95.00f); Student du=new Student(002,杜甫,86.00f,75.00f,80.00f); Student bai=new Student(003,白

21、居易,42.00f,77.00f,65.00f); Student liu=new Student(004,柳宗元,67.00f,67.00f,67.00f); StudentXW ou=new StudentXW(005,欧阳修,89.00f,98.00f,90.00f,数学代表); StudentXW wang=new StudentXW(006,王安石,98.00f,87.00f,36.00f,英语代表); StudentBZ li=new StudentBZ(007,李白,89.00f,87.00f,87.00f,班长); System.out.print(li); System.ou

22、t.println(n评测成绩:+new DecimalFormat(0.00).format(li.testScore(); System.out.println(); System.out.print(wang); System.out.println(n评测成绩:+new DecimalFormat(0.00).format(wang.testScore(); System.out.println(); System.out.print(ou); System.out.println(n评测成绩:+new DecimalFormat(0.00).format(ou.testScore()

23、; System.out.println(); System.out.print(su); System.out.println(n评测成绩:+new DecimalFormat(0.00).format(su.testScore(); System.out.println(); System.out.print(du); System.out.println(n评测成绩:+new DecimalFormat(0.00).format(du.testScore(); System.out.println(); System.out.print(bai); System.out.println(

24、n评测成绩:+new DecimalFormat(0.00).format(bai.testScore(); System.out.println(); System.out.print(liu); System.out.println(n评测成绩:+new DecimalFormat(0.00).format(liu.testScore();运行test4_10的结果如下:(很好玩吧,李白,我让你挂科。)11.包有什么作用?如何创建包和引用包中的类?答:包是一种松散的类的组合,一般不要求处于同一包中的类型有明确的相互关系,但由于同一包中的类在默认情况下可以相互访问,所以为了方便编程和管理,通常把需要在一起工作的类放在一个包里。利用包来管理类,可实现类的共享与复用。在操作系统中,目录用来组织文件,设置权限。只要在要用到包中类的时候,在该引用类的第一行加上:package (包的全路径)即可。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2