定义一个圆类myRound并在另一类中使用,其中myRound类包含半径radius成员变量(私有变量),常量PI(=3.1416),和计算面积、周长、修改半径radius等方法。要求另一个类中使用myRound的方法,且能获取、修改radius的值
时间: 2024-11-24 22:42:03 浏览: 29
首先,我们定义一个名为`MyRound`的类,它有一个私有的`radius`成员变量,以及计算面积、周长的方法,以及用于设置和获取半径的getter和setter方法。
```java
public class MyRound {
private double radius;
private static final double PI = 3.1416;
// 构造函数
public MyRound(double radius) {
this.radius = radius;
}
// 获取半径
public double getRadius() {
return radius;
}
// 设置半径并返回当前的面积
public void setRadius(double newRadius) {
if (newRadius > 0) {
this.radius = newRadius;
calculateArea();
} else {
throw new IllegalArgumentException("半径必须大于0");
}
}
// 计算面积
private double calculateArea() {
return PI * Math.pow(radius, 2);
}
// 计算周长
public double getPerimeter() {
return 2 * PI * radius;
}
}
```
然后,在另一个类中,我们可以创建`MyRound`的对象并使用其方法:
```java
public class MainClass {
public static void main(String[] args) {
MyRound circle = new MyRound(5); // 初始化一个半径为5的圆
// 使用get和set方法获取和修改半径
System.out.println("初始半径: " + circle.getRadius());
circle.setRadius(7);
System.out.println("新半径: " + circle.getRadius());
// 计算面积和周长
double area = circle.calculateArea();
double perimeter = circle.getPerimeter();
System.out.println("面积: " + area);
System.out.println("周长: " + perimeter);
}
}
```
在这个例子中,`MainClass`通过`MyRound`类的公共接口(如`getRadius()`和`setRadius()`)来访问和修改`radius`的值,而内部细节(如`calculateArea()`和`getPerimeter()`)则被封装起来,提高了代码的模块性和安全性。
阅读全文