定义抽象类Shape,其中包含抽象方法double getPeremeter()求周长和double getArea()求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法,定义一个方法一次性直接显示长和宽、周长和面积。 定义一个圆形类,继承此抽象类,并自行扩充成员变量和方法,定义一个方法一次性直接显示半径、周长和面积。 定义一个测试类进行测试
时间: 2024-02-25 08:55:24 浏览: 23
好的,以下是定义抽象类Shape和矩形类Rectangle、圆形类Circle及测试类的代码:
Shape.java
```java
public abstract class Shape {
public abstract double getPerimeter();
public abstract double getArea();
}
```
Rectangle.java
```java
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getPerimeter() {
return 2 * (width + height);
}
@Override
public double getArea() {
return width * height;
}
public void display() {
System.out.println("矩形的长为:" + width);
System.out.println("矩形的宽为:" + height);
System.out.println("矩形的周长为:" + getPerimeter());
System.out.println("矩形的面积为:" + getArea());
}
}
```
Circle.java
```java
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
public void display() {
System.out.println("圆形的半径为:" + radius);
System.out.println("圆形的周长为:" + getPerimeter());
System.out.println("圆形的面积为:" + getArea());
}
}
```
Test.java
```java
public class Test {
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(3, 4);
rectangle.display();
Circle circle = new Circle(5);
circle.display();
}
}
```
运行Test类的main方法即可进行测试。