接口与实现:Circle、Rectangle与MoveAble接口应用

需积分: 1 0 下载量 67 浏览量 更新于2024-09-13 收藏 101KB DOC 举报
本文档展示了Java编程中的接口和类的使用,涉及到`AreaInterface`、`MoveAble`两个接口,以及`Circle`、`Rectangle`类的实现。此外,还有`J_area`类和`Test`测试类的部分代码。 在Java编程中,接口(Interface)是一种定义行为规范的抽象类型,它只包含常量和抽象方法。在给定的代码中,有两个接口:`AreaInterface` 和 `MoveAble`。 1. `AreaInterface` 定义了一个公共常量 `pai`(表示圆周率π)和一个抽象方法 `area()`。任何实现这个接口的类都必须提供 `area()` 方法的具体实现,用于计算面积。`Circle` 类就实现了 `AreaInterface`,并提供了计算圆面积的方法。 ```java public interface AreaInterface { public double pai = Math.PI; // 定义公共常量 public abstract double area(); // 定义抽象方法 } public class Circle implements AreaInterface, MoveAble { // ... public double area() { return pai * r * r; // 实现AreaInterface中的area()方法,计算圆面积 } // ... } ``` 2. `MoveAble` 接口定义了一个抽象方法 `move(int delx, int dely)`,表示可以移动的对象。`Circle` 类同样实现了这个接口,提供了一个移动对象位置的方法。 ```java public interface MoveAble { public abstract void move(int delx, int dely); // 定义抽象方法 } public class Circle implements AreaInterface, MoveAble { // ... public void move(int delx, int dely) { x += delx; // 移动对象的坐标 y += dely; } // ... } ``` 3. `Rectangle` 类实现了 `AreaInterface` 接口,定义了矩形的长和宽,并提供了计算周长和面积的方法。它没有实现 `MoveAble` 接口,所以不具有移动能力。 ```java public class Rectangle implements AreaInterface { double a, b; // ... @Override public double area() { return a * b; // 实现AreaInterface中的area()方法,计算矩形面积 } public double length() { return (a + b) * 2; // 计算矩形周长 } } ``` 4. `J_area` 类看起来是为了计算特定形状的面积,如圆和矩形,但它没有实现任何接口,可能是一个辅助工具类。`J_area` 类有两个 `area()` 方法,分别根据半径计算圆的面积和根据长度与宽度计算矩形的面积。 ```java public class J_area { public double area(int t) { return Math.PI * t * t; // 计算圆面积 } public double area(int a, int b) { return a * b; // 计算矩形面积 } } ``` 5. `Test` 类是测试类,创建了 `Rectangle` 类的一个实例并输出其周长。完整的测试代码应该包括对各个类和方法的调用,以验证它们的功能正确性。 ```java public class Test { public static void main(String[] args) { Rectangle s = new Rectangle(4, 5); System.out.println(s.length()); // 输出矩形的周长 // 应该添加更多测试代码来验证其他类和方法的正确性 } } ``` 这段代码展示了如何使用接口来定义对象的行为,以及如何通过类实现接口来提供具体功能。同时,还展示了如何通过类来表示几何形状,以及如何计算这些形状的面积和周长。