java程序设计课程-实验报告-实验13.doc
文本预览下载声明
《Java开发技术》实验报告
实验序号:实验13 实验项目名称:继承
学 号 姓 名 专业、班 实验地点 实1-316 指导教师 实验时间 2012-12 -5 实验目的及要求
理解继承的基本概念
理解继承与可见性
掌握继承的设计
二、实验设备(环境)及要求
PC机,windows xp,软件环境(jdk1.6,tomcat web服务器,Eclipse)
硬件要求:CPU PII 以上,64M 内存,100M 硬盘空间。
软件要求:WindowsXP,IE 5 以上。
开发环境:JDK1.6.0_10
三、实验内容与步骤
修改类继承中的错误
文件Dog.java声明了一个Dog类,文件Labrador.java和Yorkshire.java是两个继承自Dog的类,文件DogTest.java是一个简单的驱动程序。将文件保存至本地磁盘并仔细阅读。按照以下步骤对上述程序进行修改:
1. 在DogTest.java文件中添加语句,要求在创建和打印Dog对象之后,还要创建和打印Yorkshire和Labrador对象。注意Labrador构造器有两个参数:name和color,都是字符串类型。不要修改DogTest之外的任何文件,重新编译DogTest.java,观察碰到的错误。然后修改相应文件来修正该错误。
2. 在DogTest.java中添加代码,打印Labrador和Yorkshire两个类的平均种群重量。提示:使用avgBreedWeight()方法。在编译中如果遇到错误,请解决该错误,并给出正确结果。
3. 添加一个抽象方法int avgBreedWeight()至Dog.java。注意这就意味着需要使用关键字abstract来描述avgBreedWeight()方法,并且该方法没有方法体。重新编译所有程序,记录编译中出现的错误,以及解决的方法。
DogTest.java源代码如下:
public class DogTest {
public static void main(String[] args) {
Yorkshire yorkshire = new Yorkshire(xiaohei);
Labrador labrador = new Labrador(xiaobai,white);
System.out.println(yorkshire.getName() + says + yorkshire.speak());
System.out.println(labrador.getName() + says + labrador.speak());
System.out.println(yorkshire.getName() +
BreedWeight +yorkshire.avgBreedWeight()+ says + yorkshire.speak());
System.out.println(labrador.getName() +
BreedWeight +labrador.avgBreedWeight()+ says + labrador.speak());
}
}
Yorkshire.java源代码如下:
public class Yorkshire extends Dog {
private int breedWeight = 50;
public Yorkshire(String name) {
super(name);
}
public String speak() {
return woof;
}
public int avgBreedWeight() {
return breedWeight;
}
}
Labrador.java源代码如下:
public class Labrador extends Dog {
private String color; // black, yellow, or chocolate?
private int breedWeight = 75;
public Labrador(String name, String color) {
super(name);
this.color = color;
}
public String speak() {
return WOOF;
}
public int avgBreedWeight() {
return breedWeight;
}
}
Dog.java源代码如下:
public abstract class Dog {
prot
显示全部