Java实验:抽象类、接口与在职研究生实现

需积分: 14 2 下载量 180 浏览量 更新于2024-09-11 1 收藏 62KB DOC 举报
本实验主要探讨了Java编程中的抽象类、接口和包的使用,旨在深化对面向对象设计的理解。实验包含了两个部分,首先通过创建一个抽象类`shape`及其两个派生类`rectangle`和`circle`,来演示抽象方法的运用。接着,设计了两个接口`studentinterface`和`teacherinterface`,模拟学校中教师和学生的角色,并考虑了在职研究生同时具备这两种身份的情况。 在实验的第一部分,`shape`抽象类定义了一个抽象方法`getArea()`,表示计算形状的面积。`rectangle`和`circle`类继承自`shape`,并分别实现了`getArea()`方法,用于计算矩形和圆的面积。通过实例化这两个类并调用它们的方法,展示了如何在实际程序中使用这些类。 ```java abstract class shape { abstract double getArea(); } class rectangle extends shape { int length, width; rectangle(int c, int k) { length = c; width = k; } double getArea() { return length * width; } } class circle extends shape { int r; circle(int b) { r = b; } double getArea() { return r * r * 3.14; } } class my { public static void main(String[] args) { rectangle r = new rectangle(4, 6); circle c = new circle(3); System.out.println("长方形的长宽分别为4和6时:"); System.out.println("长方形的面积为" + r.getArea()); System.out.println("圆形的半径为3时:"); System.out.println("圆形的面积为" + c.getArea()); } } ``` 这部分实验的运行结果输出了不同形状的面积,展示了抽象类和派生类的继承关系以及方法的实现。 第二部分,实验引入了接口的概念,设计了`studentinterface`和`teacherinterface`。`studentinterface`接口定义了`setFee()`和`getFee()`方法,代表学生支付学费的相关操作。`teacherinterface`可能包含与教学相关的接口方法。在职研究生作为教师和学生的双重身份,需要同时实现这两个接口。接口的使用使得代码更加模块化,方便扩展和维护。 ```java interface studentinterface { void setFee(double fee); double getFee(); } interface teacherinterface { // 接口中的其他方法 } ``` 虽然具体的接口实现没有给出,但可以想象,`Student`和`Teacher`类(或一个`Postgraduate`类)将实现这两个接口,以满足特定的需求。 总结起来,这个实验强调了Java中抽象类作为基类提供通用功能的作用,接口作为定义行为规范的方式,以及包作为组织和管理类的手段。通过这样的练习,学习者能更好地理解和应用面向对象设计的原则,包括封装、继承和多态。