继承和接口的实验报告.doc_第1页
继承和接口的实验报告.doc_第2页
继承和接口的实验报告.doc_第3页
继承和接口的实验报告.doc_第4页
继承和接口的实验报告.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深 圳 大 学 实 验 报 告 课程名称: JAVA程序设计 实验项目名称: 继承和接口 学院: 计算机与软件学院 专业: 指导教师: 杨芳 报告人: 姜鹏乐 学号:2013150027 班级: 01 实验时间: 2014-10-22 实验报告提交时间: 2014-10-22 教务处制一、实验目的(1)理解继承的概念,掌握继承的语法;(2)学习定义和使用子类;(3)学习定义和使用抽象类;(4)学习定义和使用接口;(5)学习实现接口;(6)掌握继承过程中的方法覆盖,区分它与方法重载的不同;(7)掌握如何利用接口间接实现多重继承;(8)掌握对象类型之间的转换规则;(9)掌握多态与动态绑定。二、实验内容本次实验内容有两题:第一题:基础题(1):编写类Computer,使之拥有方法f1和f2(方法自行定义,比如f1()方法可以是简单地输出一行:System.out.println(“调用Computer的方法f1()”)。),并在子类Desktop和Notebook中覆盖这些方法(比如Desktop的f1()方法可以为:System.out.println(“调用Desktop的方法f1()”)。)。在main方法中利用对象类型转换将类Desktop和Notebook的对象分别赋值给类Computer对象,应用多态调用这些方法。(2):修改(1),将类Computer声明为抽象类。(3):修改(2),将类Computer定义为接口。第二题:应用题请设计3个类,分别是学生类Student,本科生类Undergraduate,研究生类Postgraduate,其中Student类是一个抽象类,它包含一些基本的学生信息如姓名、类别、所学课程(这里假定为3门课),各课程成绩等,而Undergraduate类和Postgraduate都是Student类的子类,它们之间的主要差别是计算3门课程平均成绩的等级的方法有所不同,研究生的标准要比本科生的标准高一些,如下表所示:本科生标准研究生标准80100 优秀90100 优秀7080 良好8090 良好6070 一般7080 一般5060 及格6070 及格50以下 不及格60以下 不及格假设某班级里既有本科生(3个)也有研究生(2个),请编写程序统计全班学生的成绩等级并显示出来。测试数据为:张三 本科生 90,95,100李四 本科生 80,85,90王五 研究生 82,85,88赵六 本科生 75,82,87陈七 研究生 80,82,84假设运行结果如下所示:姓名 类型 成绩张三 本科生 优秀李四 本科生 优秀王五 研究生 良好赵六 本科生 优秀陈七 研究生 良好(提示:关键是设计一个学生数组,既能存放本科生对象,又能存放研究生对象。)三、程序清单第一题:(1) class Computer public void f1()System.out.println(I am computer.);public void f2()System.out.println(I am computer,too.);class Desktop extends Computerpublic void f1()System.out.println(I am Desktop.);public void f2()System.out.println(I am Desktop,too. );class Notebook extends Computerpublic void f1()System.out.println(I am Notebook.);public void f2()System.out.println(I am Notebook,too.);class Mainpublic static void main(String args)Computer C=new Computer();Desktop B=new Desktop();Notebook N=new Notebook();C.f1();C.f2();B.f1();B.f2();N.f1();N.f2();(2) abstract class Computer abstract void f1();01abstract void f2();class Desktop extends Computer void f1()System.out.println(I am Desktop.); void f2()System.out.println(I am Desktop,too. );class Notebook extends Computer void f1()System.out.println(I am Notebook.); void f2()System.out.println(I am Notebook,too.);class Mainpublic static void main(String args)Computer C;Desktop B=new Desktop();Notebook N=new Notebook();C=B;C.f1();C.f2();C=N;C.f1();C.f2();(3) interface Computerpublic void f1();public void f2();class Desktop implements Computerpublic void f1()System.out.println(I am Desktop.); public void f2()System.out.println(I am Desktop,too. );class Notebook implements Computer public void f1()System.out.println(I am Notebook.); public void f2()System.out.println(I am Notebook,too.);class Mainpublic static void main(String args)Desktop B=new Desktop();Notebook N=new Notebook();B.f1();B.f2();N.f1();N.f2();第二题:abstract class student String grade; String name; int x; int y; int z; abstract void display(); class Undergraduate extends studentUndergraduate(String str1,String str2,int a,int b,int c)name=str1;grade=str2;x=a;y=b;z=c; String s(int m) if(m=80) return 优秀; if(m=70 & m=60 & m=50 & m60) return 及格; if(m=90) return 优秀; if(m=80 & m=70 & m=60 & m70) return 及格; if(m60) return 不及格; return null; void display()System.out.println(name+t+研究生+t+s(x+y+z)/3);public class Mainpublic static void main(String args)student a = new student5;a0 = new Undergraduate(张三,本科生,90,95,100);a1 = new Undergraduate(李四,本科生,80,85,90);a2 = new Postgraduate(王五,研究生,82,85,88);a3 = new Undergraduate(赵六,本科生,75,82,87);a4 = new Postgraduate(陈七,研究生,80,82,84);System.out.println(姓名 + t + 类型 + t + 成绩);int i = 0;for ( i = 0 ; i 5 ; i + )ai.display();四、程序运行后截图五、思考题1、如果下面的程序可以正常运行,则请写出程序运行的输出结果。否则,请写出含有错误的语句,并修正含有错误的语句。class J_Base void J_Base() System.out.print(2); class J_Test extends J_Base int m_i=2; String m_s=null; J_Test() super(); m_i=3; m_s=c;public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论