java 继承与接口 实验报告
- 格式:doc
- 大小:111.50 KB
- 文档页数:4
应用数学 学院 专业 1 班、学号_ _
姓名___ __ 教师评定_________________
实验题目 继承与接口
一、 实验目的与要求
实验目的:
1、掌握类的继承关系。
2、掌握接口的定义与使用。
实验要求:
按下列要求编写Java程序:
1、定义接口Printx,其中包括一个方法printMyWay(),这个方法没有形参,返回值为空。
2、编写矩形类,矩形类要求实现Printx接口,有求面积、求周长的方法,printMyWay()方法要能显示矩形的边长、面积和周长。
3、编写正方形类作为矩形类的子类,正方形类继承了矩形类求面积和周长的方法,新增加求对角线长的方法,重写printMyWay()方法,要求该方法能显示正方形的边长、面积、周长和对角线长。
二、 实验方案
编辑该实验源程序如下:
■LISTEN.java
interface Printx{ //定义接口
public abstract void printMyWay();
}
class Rectangle implements Printx{ //矩形类
double a,b;
Rectangle(double a,double b){
this.a=a;
this.b=b;
}
public double getArea(){
return a*b;
}
public double getLength(){
return (a+b)*2.0;
}
public void printMyWay(){
System.out.println("该矩形的长a="+a+"宽b="+b);
System.out.println("面积s="+getArea());
System.out.println("周长l="+getLength());
}
}
class Square extends Rectangle{ //正方形类
double c;
Square(double a,double b){
super(a,b);
}
public double getDiagonal(){
c=Math.sqrt(a*a+b*b);
return c;
}
public void printMyWay(){
System.out.println("该矩形的长a="+a+"宽b="+b);
System.out.println("面积s="+getArea());
System.out.println("周长l="+getLength());
System.out.println("对角线d="+getDiagonal());
}
}
public class LISTEN {
public static void main(String[] args) {
Rectangle rectangle;
Square square;
rectangle=new Rectangle(11,5);
square=new Square(5,5);
rectangle.printMyWay();
square.printMyWay();
}
}
三、 实验结果和数据处理
运行上述源程序,可得如下运行结果:
1、矩形长a=11 宽b=5
2、矩形长a=5 宽b=5
四、 结论
接口是Java实现部分多继承功能的体现。运用接口编辑程序,可以提高程序的灵活度,,降低了类的冗余度,有效地提高了资源的利用率。程序中,子类Square继承了父类Rectangle的一些方法,省去了对getArea()和getLength()的再次声明定义。
五、 问题与讨论
在编译程序的时候一开始对于知识的掌握不牢固,看了很久的书才有些理解,有些细节过于粗心,导致编译过程浪费太多时间。