Java实验报告.docx
《Java实验报告.docx》由会员分享,可在线阅读,更多相关《Java实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
Java实验报告
深圳大学实验报告
课程名称:
Java程序设计
实验项目名称:
简单类的编写
学院:
计算机与软件学院
专业:
指导教师:
谭舜泉
报告人:
学号:
班级:
3班
实验时间:
2012年10月11日
实验报告提交时间:
2012年11月15日
教务部制
实验一:
4.2.2实例成员与类成员
程序代码:
classA{
floata;
staticfloatb;
voidsetA(floata){
this.a=a;
}
voidsetB(floatb){
this.b=b;
}
floatgetA(){
returna;
}
floatgetB(){
returnb;
}
voidinputA(){
System.out.println(a);
}
staticvoidinputB(){
System.out.println(b);
}
}
publicclassEx42{
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
A.b=100;
A.inputB();
Acat=newA();
Adog=newA();
cat.setA(200);
cat.setB(400);
dog.setA(200);
dog.setB(900);
cat.inputA();
cat.inputB();
dog.inputA();
dog.inputB();
}
}
代码截图:
运行截图:
实验二:
5.2.2上转型对象
程序代码:
abstractclassEmployee{
publicabstractdoubleearnings();
}
classYearWorkerextendsEmployee{
publicdoubleearnings(){
return3000*1;
}
}
classMonthWorkerextendsEmployee{
publicdoubleearnings(){
return2000*12;
}
}
classWeekWorkerextendsEmployee{
publicdoubleearnings(){
return1000*52;
}
}
classCompany{
Employee[]employee;
doublesalaries=0;
Company(Employee[]employee){
this.employee=employee;
}
publicdoublesalariesPay(){
salaries=0;
for(inti=0;isalaries=employee[i].earnings()+salaries;
}
returnsalaries;
}
}
publicclassHardWork{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Employee[]employee=newEmployee[20];
for(inti=0;iif(i%3==0)
employee[i]=newWeekWorker();
elseif(i%3==1)
employee[i]=newMonthWorker();
elseif(i%3==2)
employee[i]=newYearWorker();
}
Companycompany=newCompany(employee);
System.out.println("公司年工资总额:
"+company.salariesPay());
}
}
代码截图:
运行截图:
实验三:
5.2.3接口回调
程序代码:
interfaceComputeTotalSales{
publicdoubletatalSaleByYear();
}
classTelevisionimplementsComputeTotalSales{
publicdoubletatalSaleByYear(){
return500000;
}
}
classComputerimplementsComputeTotalSales{
publicdoubletatalSaleByYear(){
return250000;
}
}
classMobileimplementsComputeTotalSales{
publicdoubletatalSaleByYear(){
return720000;
}
}
classShop{
ComputeTotalSales[]goods;
doubletotalSales=0;
Shop(ComputeTotalSales[]goods){
this.goods=goods;
}
publicdoublegiveTotalSales(){
totalSales=0;
for(inti=0;i{
totalSales=goods[i].tatalSaleByYear()+totalSales;
}
returntotalSales;
}
}
publicclassHappySale{
publicstaticvoidmain(Stringargs[]){
ComputeTotalSales[]goods=newComputeTotalSales[50];
for(inti=0;iif(i%3==0)
goods[i]=newTelevision();
elseif(i%3==1)
goods[i]=newComputer();
elseif(i%3==2)
goods[i]=newMobile();
}
Shopshop=newShop(goods);
System.out.println("商店年销售额:
"+shop.giveTotalSales());
}
}
代码截图:
运行截图:
深圳大学学生实验报告用纸
实验心得:
通过三个程序的编写,学会了实例成员和类成员、上转型对象以及接口回调,并在程序的运行过程中体会到了在其中的作用,知道了抽象类的用法,例如:
抽象类不能用new运算创建对象;还有不同对象的上传对象调用同一方法可能产生不同的行为。
感觉做完三个实验后收获颇丰。
指导教师批阅意见:
成绩评定:
指导教师签字:
年月日
备注:
注:
1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。