Java实验4__继承与接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.实验继承与接口
[实验目的]
1、掌握java 继承中父类及其子类的定义方法。
2、掌握子类重写父类同名方法的方法。
3、掌握接口的用法。
[实验内容]
1、定义父类People,分别定义People类的子类ChinaPeople,AmericanPeople和BeijingPeople 并分别重写父类中的各个方法。最后在主方法中分别创建各子类的对象并调用各自的方法打印输出信息。该程序的模板代码如下:请将其补充完整并调试运行。
class People
{
protected double weight,height;
public void speakHello()
{
System.out.println("yayawawa");
}
public void averageHeight()
{
height=173;
System.out.println("average height:"+height);
}
public void averageWeight()
{
weight=70;
System.out.println("average weight:"+weight);
}
}
class ChinaPeople extends People
{
【代码1】//重写public void speakHello()方法,要求输出类似“你好,吃了吗”这样的
//汉语信息
【代码2】//重写public void averageHeight()方法,要求输出类似//“中国人的平均身高:168.78厘米”这样的汉语信息【代码3】//重写public void averageWeight()方法,
//要求输出类似“中国人的平均体重:65公斤”这样的汉语信息
public void chinaGongfu()
{
【代码4】//输出中国武术的信息,例如:"坐如钟,站如松,睡如弓"等
}
}
class AmericanPeople extends People
{
【代码5】//重写public void speakHello()方法,要求输出类似//“How do you do”这样的英语信息。
【代码6】//重写public void averageHeight()方法
【代码7】//重写public void averageWeight()方法
public void americanBoxing()
{
【代码8】//输出拳击的信息,例如,“直拳”、“钩拳”等}
}
class BeijingPeople extends ChinaPeople
{
【代码9】//重写public void speakHello()方法,要求输出类似“您好”这样的汉语信息
【代码10】//重写public void averageHeight()方法【代码11】//重写public void averageWeight()方法
public void beijingOpera()
{
【代码12】//输出京剧的信息
}
}
public class Example
{
public static void main(String args[])
{
ChinaPeople chinaPeople=new ChinaPeople();
AmericanPeople americanPeople=new AmericanPeople();
BeijingPeople beijingPeople=new BeijingPeople();
chinaPeople.speakHello();
americanPeople.speakHello();
beijingPeople.speakHello();
chinaPeople.averageHeight();
americanPeople.averageHeight();
beijingPeople.averageHeight();
chinaPeople.averageWeight();
americanPeople.averageWeight();
beijingPeople.averageWeight();
chinaPeople.chinaGongfu();
americanPeople.americanBoxing();
beijingPeople.beijingOpera() ;
beijingPeople.chinaGongfu();
}
}
2.调试test1.java test2.java test3.java
3.现有以下接口的声明:
public interface CalcArea{
double getArea();
}
(1)定义圆类Circle实现接口CalcArea,圆类的数据域是半径。构造方法的参数用于初始化半径。
(2)定义矩形类Rectangle实现接口CalcArea,矩形类的数据域是长和宽。构造方法的参数用于初始化长和宽。
[参考答案]
1.答案:
【代码1】:public void speakHello()
{
System.out.println("你好,吃饭了吗?");
}
【代码2】:
public void averageHeight()
{
height=173;
System.out.println("中国人的平均身高:"+height+"厘米");
}
【代码3】:
public void averageWeight()
{
weight=67.34;
System.out.println("中国人的平均体重:"+weight+"公斤");
}
【代码4】:System.out.println("坐如钟,站如松,睡如弓");
【代码5】:
public void speakHello()
{
System.out.println("How do You do");
}
【代码6】:
public void averageHeight()
{
height=188;
System.out.println("Amerian Average height:"+height+" cm");