版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java语言程序设计第五章课后习题答案1.什么是接口?接口起什么作用?接口与抽象类有何区别?答:Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。作用:接口是面向对象的一个重要机制,使用接口可以实现多态继承;接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类型来具体;接口还可以用来实现不同类之间的常量共享。与抽象类不同的是:接口允许在看起来不相干的类之间定义共同行为。2.试编程证明接口中的属性都隐含为static及final,所有的方法都为public。/
2、定义接口Shape2Dinterface Shape2Ddouble Pi=3.14;double area();/Circle类继承接口Shape2Dpublic class Circle implements Shape2Ddouble radius;public Circle(double r)radius=r;public double area()return Pi*radius*radius;/A类(测试接口中隐含final的area()方法)public class A extends Shape2Dpublic double area();/test5_2public clas
3、s test5_2public static void main(String args)Circle c=new Circle(10);System.out.println(Pi=3.14圆的面积:+c.area();SetPi b=new SetPi(3.00);System.out.println(改变Pi=3.00圆的面积:+c.area();运行结果:3.在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化成子类对象的引用?答:一个对象被塑型为父类或接口后,可以再一次被塑型回到它原来所属的类,即转化成原类对象的引用。4.声明一个接口,此接口至少具有一个方法;在一个方法中声明内
4、部类实现此接口,并返回此接口的引用。/A类接口public interface Avoid fuck();/B类public class Bpublic A fuck()return new A()public void fuck()System.out.println(B类声明实现A接口类并返回接口的应用Fuck you!);/*注意这里有分号“;”*/test5_4public class test5_4 public static void main(String args)new B().fuck().fuck();运行结果:5.声明一个具有内部类的类,此内部类只有一个非默认的构造方法
5、;声明另外一个具有内部类的类,此内部类继承第一个内部类。/A类class A class ClassOfA public ClassOfA() /B类public class B class ClassOfB extends A.ClassOfA public ClassOfB(A b) b.super(); 6.声明一个具有两个方法的类,在第一个方法中调用第二个方法。声明此类的一个子类,并在子类中重写第二个方法。生成一个子类的对象,并将其塑型为基类,调用第一个方法,解释会发生什么?/A类public class A public String Way1()return A的方法1和+Way2
6、();public String Way2()return A的方法2;/B类public class B extends Apublic String Way2()return B的方法2;/ test5_6public class test5_6 public static void main(String args)A a=new B();System.out.println(a.Way1();7.什么是多态?如何实现多态?答:多态性是指不同类型的对象可以响应相同的消息。利用向上塑性技术,一个父类的应引用变量可以指向不同的子类对象;而利用动态绑定技术,可以再运行时根据父类引用变量所指对象
7、的世纪类型执行相应的子类方法,从而实现多态性。8.在第4章习题10的基础上,声明测试类完成对多态性的测试。(1)在主方法中声明Student类的数组(含五个元素)(2)生成五个对象存入数组:其中三个Student类的对象、一个StudentXW类的对象、一个StudentBZ类的对象。(3)将方法testScore()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法。/Student类public class StudentString id;String name;float scoreOfenglish;float scoreOfmath;float scoreOfco
8、mputer;float scoreOfsum;/构造方法public Student()public Student(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer)this.id=aid;=aname;this.scoreOfenglish=ascoreOfenglish;this.scoreOfmath=ascoreOfmath;this.scoreOfcomputer=ascoreOfcomputer;/this.scoreOfsum=asc
9、oreOfenglish+ascoreOfmath+ascoreOfcomputer;this.scoreOfsum=sum();/sum方法public float sum()return(this.scoreOfenglish+this.scoreOfmath+this.scoreOfcomputer);/testScore测评成绩/平均分public float testScore()return(this.scoreOfsum/3);/6个get方法 public String getid()return(id);public String getname()return(name);
10、public float getscoreOfenglish()return(scoreOfenglish);public float getscoreOfmath()return(scoreOfmath);public float getscoreOfcomputer()return(scoreOfcomputer);public float getscoreOfsum()return(scoreOfsum);/5个set方法public void setid(String newid)this.id=newid;public void setname(String newname)this
11、.name=newname;public void setscoreOfenglish(float newscoreOfenglish)this.scoreOfenglish=newscoreOfenglish;this.scoreOfsum=sum();public void setscoreOfmath(float newscoreOfmath)this.scoreOfmath=newscoreOfmath;this.scoreOfsum=sum();public void setscoreOfcomputer(float newscoreOfcomputer)this.scoreOfco
12、mputer=newscoreOfcomputer;this.scoreOfsum=sum();/toString方法public String toString()return(学号:+this.id+n姓名:+name+n英语:+this.scoreOfenglish+n数学:+this.scoreOfmath+n计算机:+this.scoreOfcomputer+n总分:+this.scoreOfsum);/compare方法/比较2学生总分public void compare(Student x)if(this.getscoreOfsum()x.getscoreOfsum()Syst
13、em.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();/equals方法/比较2学生学号是否相等/* * public boolean equals(Object x)if(this.getClass()!=x.getClass()return false;Stud
14、ent b=(Student)x;if(this.id=b.getid()return true;*/StudentXWpublic class StudentXW extends StudentString responsibility;/构造方法public StudentXW()super();/responsibility= ;public StudentXW(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility)sup
15、er(aid,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);responsibility=aresponsibility;/testScore测评成绩/平均分public 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
16、总分:+this.scoreOfsum+n职位:+this.responsibility);/StudentBZpublic class StudentBZ extends StudentString responsibility;/构造方法public StudentBZ()super();/responsibility=;public StudentBZ(String aid,String aname,float ascoreOfenglish,float ascoreOfmath,float ascoreOfcomputer,String aresponsibility)super(ai
17、d,aname,ascoreOfenglish,ascoreOfmath,ascoreOfcomputer);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总分:+t
18、his.scoreOfsum+n职位:+this.responsibility);/test5_8import java.text.*;public class test5_8public static void main(String args)Student student=new Student(001,苏轼,56.00f,87.00f,95.00f),new Student(002,杜甫,86.00f,75.00f,80.00f),new Student(003,白居易,42.00f,77.00f,65.00f),new StudentXW(006,王安石,98.00f,87.00f,36.00f,英语代表),new StudentBZ(007,李白,89.00f,87.00f,87.00f,班长);for(int i=0;i5;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 太原城市职业技术学院《智慧物流与大数据》2024-2025学年第二学期期末试卷
- 机关内部协作制度
- 机关内部督办制度
- 机场内部安全监察制度
- 李宁企业内部员工制度
- 林场财务内部管理制度
- 民庭内部管理制度
- 民警内部通报制度
- 海事局财务内部控制制度
- 海尔内部员工考核制度
- 2025年黑龙江林业职业技术学院单招职业技能测试题库含答案
- 2025年度光伏电站运维服务合同范本
- 房屋装修质量保证书样式
- 人才测评:理论、方法、实务
- 无损检测超声波二级考试题库汇编
- 掘进机行走机构的结构设计
- 2024年江苏省中学生生物学奥林匹克初赛理论试题
- 泥石流灾害与防治工程
- 高分子材料工程专业英语翻译(DOC)
- 【高中数学】充要条件+课件+高一上学期数学人教A版(2019)必修第一册
- Soul《心灵奇旅(2020)》完整中英文对照剧本
评论
0/150
提交评论