版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验内容第06周实验接口内部类与包成绩姓名陈佳宇学号20232730班级软件二班专业软件工程日期2023年4月1日【实验目的】---包理解掌握Java类的管理机制——包__________________________________________________________________________________________________1、//源程序1packageP1;classC1{}publicclassC2{publicstaticvoidmain(Stringargs[]){ System.out.println("观察编译结果"); }}interfaceI1{}要求:将上述程序分别保存并调试,写下运行结果和编译结果。调试过程:1) 保存文件C2.java(注意:在一个java源程序中只能有一条包语句)2) 编译:javac–d.C2.java3) 运行:javaP1.C22、//源程序2packageP2;classC3{}要求:将上述程序分别保存并调试,写下运行结果和编译结果1) 保存文件C3.java2) 编译:javac–d.C3.java3) 运行:javaP2.C33、将下述源程序保存并编译,观察并写下编译结果。packageP1;publicclassC4{}将下述源程序保存并编译,观察并写下编译结果。packageP1.pp1;publicclassC5{}____________________________________________________________________________________【实验结果与分析】1.2,3.4.____________________________________________________________________________【实验目的】---抽象类与接口理解掌握Java抽象类的继承与接口的实现————————————————————————————————————————二、抽象类与接口1、运行程序,写下程序运行结果,理解抽象类的使用。abstractclassAnimal{ publicabstractvoidcry();}classDogextendsAnimal{publicvoidcry(){System.out.println("汪汪.....");}}publicclassTestDemo{publicstaticvoidmain(Stringargs[]){Animala;a=newDog();a.cry();}}2、将抽象类Animal写成接口,并定义Dog类实现该结果,写成程序并给出运行结果————————————————————————————————————————————————【实验结果与分析】1、interfaceAnimal{ voidcry();}classDogimplementsAnimal{publicvoidcry(){System.out.println("汪汪.....");}}publicclassTestDemo{publicstaticvoidmain(Stringargs[]){Doga=newDog();a.cry();}}_______________________________________________________________________________3、按照下面的要求,完成程序并给出程序的运行结果定义接口:InterfaceShape{floatPI=3.1415926;voiddraw();//绘制图形,在程序中用信息输出表示,如,绘制一个圆doublegetArea();//获取面积doublegetCircumference()//周长}要求:〔1〕分别定以下类〔每个类必须继承接口Shape〕:圆〔Circle〕椭圆〔Eclipse〕矩形〔Rectangle〕三角形〔Triangle〕〔2〕每个类的定义:1〕 定义相应成员变量;2〕 实现接口中定义的方法;3〕 定义带参构造方法;4〕 在程序中定义类TestShape,并在main方法中完成对各类的测试________________________________________________________________________________【实验结果与分析】编写程序并给出运行结果:interfaceShape{floatPI=3.1415926f;voiddraw();//绘制图形,在程序中用信息输出表示,如,绘制一个圆doublegetArea();//获取面积doublegetCircumference();//周长}classCircleimplementsShape//圆{doubler; publicCircle(doubler) { this.r=r; } publicvoiddraw() { System.out.println("绘制一个半径为"+r+"的圆"); } publicdoublegetArea() { returnPI*r*r; } publicdoublegetCircumference() {return2*PI*r; }}classEclipseimplementsShape//椭圆{doublea,b;publicEclipse(doublea,doubleb){this.a=a;this.b=b;}publicvoiddraw(){System.out.println("绘制一个长半轴为:"+a+"\t短半轴为:"+b+"的椭圆");}publicdoublegetArea(){returnPI*a*b;}publicdoublegetCircumference(){return2*PI*b+4*(a-b);}}classRectangleimplementsShape//矩形{doublea,b;publicRectangle(doublea,doubleb){this.a=a;this.b=b;}publicvoiddraw(){System.out.println("绘制一个长为"+a+"\t宽为:"+b+"的矩形");}publicdoublegetArea(){returna*b;}publicdoublegetCircumference(){return2*(a+b);}}classTriangleimplementsShape//三角形{doublea,b,c;publicTriangle(doublea,doubleb,doublec){this.a=a;this.b=b;this.c=c;}publicvoiddraw(){System.out.println("绘制一个三边长分别为:"+a+""+b+""+c+"的三角形");}publicdoublegetArea(){ doublel=(a+b+c)/2; returnjava.lang.StrictMath.pow(l*(l-a)*(l-b)*(l-c),1.0/2);}publicdoublegetCircumference(){returna+b+c;}}publicclassTestShape{ publicstaticvoidmain(String[]args) { Circlea=newCircle(3);a.draw();System.out.print("面积Area="+a.getArea()+"");System.out.println("周长Circumference="+a.getCircumference());Eclipseb=newEclipse(4,3);b.draw();System.out.print("面积Area="+b.getArea()+"");System.out.println("周长Circumference="+b.getCircumference());Rectanglec=newRectangle(3.2,4.5);c.draw();System.out.print("面积Area="+c.getArea()+"");System.out.println("周长Circumference="+c.getCircumference());Triangled=newTriangle(3,4,5);d.draw();System.out.print("面积Area="+d.getArea()+"");System.out.println("周长Circumference="+d.getCircumference());}}4、按照下面的要求,完成程序并给出程序的运行结果假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员〔Employee〕,不同类型的雇员按不同的方式支付工资:〔1〕经理〔Manager〕——每月获得一份固定的工资〔2〕销售人员〔Salesman〕——在根本工资的根底上每月还有销售提成。〔3〕一般工人〔Worker〕——那么按他每月工作的天数计算工资。根据上述要求试用类的继承和相关机制描述这些功能,并编写一个JavaApplication程序,演示这些类的用法。〔提示:应设计一个雇员类〔Employee〕描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary(),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。〕//Employee类的定义如下abstractclassEmployee{ privateStringname; publicEmployee(Stringname){ =name; } publicStringgetName(){ returnname; } publicabstractdoublecomputeSalary(); }_______________________________________________________________________________________________【实验结果与分析】编写程序并给出运行结果importjava.util.Arrays;importjava.util.Scanner;abstractclassEmployee{ privateStringname; publicEmployee(Stringname){ =name; } publicStringgetName(){ returnname; } publicabstractdoublecomputeSalary();}classManagerextendsEmployee{staticprivatedoubleregularwages; publicManager(Stringname,doubleregularwages) { super(name); this.regularwages=regularwages; } publicdoublecomputeSalary() { returnregularwages; }}classSalesmanextendsEmployee{ staticprivatedoubleregularwages; staticprivateintsaleNumber; staticprivatedoubleEveryBonus;publicSalesman(Stringname,doubleregularwages,intsaleNumber,doubleEveryBonus) { super(name); this.regularwages=regularwages; this.saleNumber=saleNumber; this.EveryBonus=EveryBonus; } publicdoublecomputeSalary() { returnregularwages+saleNumber*EveryBonus; }}classWorkerextendsEmployee{ staticprivateintworkdays; staticprivatedoubledaysBonus;publicWorker(Stringname,intworkdays,doubledaysBonus) { super(name); this.workdays=workdays; this.daysBonus=daysBonus; } publicdoublecomputeSalary() { returnworkdays*daysBonus; }}publicclassWagesCompute{publicstaticvoidmain(String[]args){ Scannerinput=newScanner(System.in); System.out.println("欢送进入本公司员工工资支付计算系统:"); System.out.println("经理的工资(固定):");//经理工资 Managera=newManager("王阳",50000); System.out.println(a.getName()+"的月工资为:"+aputeSalary()); System.out.println("销售人员的月工资:");//销售人员工资System.out.println("请输入销售人员的姓名:"); Stringsalesname=input.next(); System.out.println("请输入销售人员的每月固定工资:"); doubleregualwages=input.nextInt(); System.out.println("请输入销售人员的月销售量:"); intsaleNumber=input.nextInt(); System.out.println("请输入销售人员的每份销售提成:"); doubleEveryBonus=input.nextInt(); Salesmanb=newSalesman(salesname,regualwages,saleNum
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专用模板:教育器材采购与销售合同
- 岭南师范学院《统计学》2021-2022学年第一学期期末试卷
- 岭南师范学院《设计概论》2021-2022学年第一学期期末试卷
- 岭南师范学院《教学设计》2021-2022学年第一学期期末试卷
- 2024年城市燃气管道施工合同
- 2024年冷链运输行业专利技术与使用权转让合同
- 围墙施工组织方案
- 合伙做合同范例
- 分期买房合同范例
- 安全拆除设备合同范例
- 监控施工方案四篇
- 2023年全国中小学思政课教师网络培训研修总结心得体会
- 《走进芭蕾-中外芭蕾经典作品鉴赏》学习通超星课后章节答案期末考试题库2023年
- 口腔修复学:全口义齿课件
- 紫金矿业污染事件商业伦理分析
- 宫颈及阴道上药的护理(妇产科护理课件)
- 人教精通版英语五上Unit5《Isthisyourschoolbag》教案
- 2023年口腔医学期末复习-牙周病学(口腔医学)考试历年真题精华集选附答案
- 中小学教师教育教学水平能力测试成绩单
- 互联网医院整体方案介绍-PPT
- 4.2.1指数函数的概念 课件(共21张PPT)
评论
0/150
提交评论