实验二继承与接口实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二继承与接口

一、实验目的

1.掌握类的继承机制。

2.熟悉类中成员变量和方法的访问控制。

3.掌握接口与包的使用,熟悉方法的多态性。

二、实验内容

1.定义父类及子类,在子类中重写父类的方法

2.练习接口与包的使用

三、.实验步骤与要求

第1题继承

编写一个Java应用程序,除了主类外,该程序中还有4个类:People, ChinaPeople, AmericanPeople 和 BeijingPeople类。此四个类的继承关系如下图所示:

要求ChinaPeople,American类均重写其父类People类的speakHello, averageHeight, averageWeight方法,BeijingPeople类重写其父类ChinaPeople类的speakHello, averageHeight, averageWeight方法。

源代码:

package people;

class people

{

protected double height ;

protected double weight ;

public void speakHello() arnings();

e[1]=new MonthWorker();

e[1].earnings();

e[2]=new WeekWorker();

e[2].earnings();

}

}

结果截图:

第3题接口回调

要求有一个ComputeTotalSales接口,该接口中有一个方法:public double totalSalesByYear(),有三个实现该接口的类:Television,Computer和Mobile。这三个类通过实现接口computeTotalSales,给出自己的年销售额。

有一个Shop类,该类用computeTotalSales数组作为成员,computeTotalSales数组的单元可以存放Television对象的引用、Computer对象的引用或Mobile对象的引用。程序能输出Shop 对象的年销售额。

源代码:

package people;

interface ComputeTotalSales

{

public double totalSalesByYear();

}

class Television implements ComputeTotalSales

{

public double totalSalesByYear()

{

double sale=100;

return sale*365;

}

}

class computer implements ComputeTotalSales

{

public double totalSalesByYear()

{

double sale=200;

return sale*365;

}

}

class Mobile implements ComputeTotalSales

{

public double totalSalesByYear()

{

double sale=220;

return sale*365;

}

}

public class shop {

public static void main(String []args)

{

ComputeTotalSales c[];

c=new ComputeTotalSales[3];

c[0]=new Television();

"电视机的年销售量:"+c[0].totalSalesByYear());

c[1]=new computer();

"电脑的年销售量:"+c[1].totalSalesByYear());

c[2]=new Mobile();

"手机的年销售量:"+c[2].totalSalesByYear());

}

}

结果截图:

四、实验结果

编写源程序并上机调试通过,根据实验过程填写实验报告。

提交电子版实验报告要求: 1、源代码要规范、有详细的注释;每题以文件夹管理各个Java源文件;2、运行结果截图 +心得体会(实验报告)。打包命名:“学号姓名java实验几”:如“11小明java实验二”

相关文档
最新文档