Java实验二实验二类与对象实验目的1、掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;2、掌握修饰符和构造方法的使用规则;3、掌握接口的特点、结构、调用和继承;4、掌握如何创建包,通过包如何管理类;5、掌握Java的继承机制和实现多态的方法实验内容(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。通过实例验证编程无误。(2)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形的面积。通过实例验证编程无误。(3)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计:(i)设计一个基类Student描述学生的共同特征。(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息附实验一名称是Java语言基础实验报告分为以下几个部分一实验名称二实验目的三实验仪器四实验步骤(把你的操作一步一步写清楚,java程序代码要写)五实验结果(程序运行后的结果就是DOS环境下运行出来的结果写在实验报告上)六实验讨论(实验过程中的错误及如何改正,你的心得体会等)答案:(1)定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord赋值学号、姓名和成绩,GetRecord通过学号得到考生的成绩。通过实例验证编程无误publicclassStudent{privateintID;privateStringname;privatefloatscore;publicvoidSetRecord(intID,Stringname,floatscore){this.ID=ID;this.name=name;this.score=score;}publicfloatgetRecord(intID){if(ID==this.ID)returnthis.score;elsereturn-1;}publicstaticvoidmain(String[]args){Students=newStudent();s.SetRecord(0,alex,100);floatSco=s.getRecord(0);System.out.print(Sco);}}(2)定义一个接口Area,其中包含一个计算面积的抽象方法calculateArea(),然后设计Circle和Rectan两个类实现这个接口的方法calculateArea(),分别计算圆和矩形的面积。通过实例验证编程无误interfaceArea{floatcalculateArea();}classCircleimplementsArea{floatradius;Circle(floatr){this.radius=r;}publicfloatcalculateArea(){return(float)Math.PI*radius*radius;}}classRectanimplementsArea{floatwidth;floatheight;Rectan(floatw,floath){this.width=w;this.height=h;}publicfloatcalculateArea(){return(float)width*height;}}publicclassInterface{publicstaticvoidmain(Stringargs[]){Circlecircle=newCircle(5);System.out.println(CircleArea=+circle.calculateArea());Rectanrect=newRectan(12,6);System.out.println(RectangleArea=+rect.calculateArea());}}(3)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计:(i)设计一个基类Student描述学生的共同特征。(ii)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。(iii)设计一个描述研究生的类Graduate,该类继承并扩展Student类。(iv)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。classStudent{publicStringname;publicdoublea,b,c;publicdoubleaverage;intstatus;}classUndergraduateextendsStudent{Undergraduate(Strings,doublea,doubleb,doublec){this.name=s;this.a=a;this.b=b;this.c=c;this.average=(a+b+c)/3;}publicvoidDisplay(){if(this.average=60)status=1;elsestatus=0;if(status==1)System.out.println(name+:通过!);if(status==0)System.out.println(name+:不通过!);}}classGraduateextendsStudent{Graduate(Strings,doublea,doubleb,doublec){this.name=s;this.a=a;this.b=b;this.c=c;this.average=(a+b+c)/3;}publicvoidDisplay(){if(this.average=80)status=1;elsestatus=0;if(status==1)System.out.println(name+:通过!);if(status==0)System.out.println(name+:不通过!);}}publicclassStudentDemo{publicstaticvoidmain(Stringargs[]){Undergraduatest1=newUndergraduate(张三,50,70,60);st1.Display();Graduatest2=newGraduate(李四,70,80,90);st2.Display();}}附:这三个程序中相关的实例都是随意举的,你也可以改成自己的。