用Java定义一个名为Square的类表示正方形,使其继承Shape 抽象类,覆盖Shape类中的抽象方法getPerimeter()和getArea()。编写程序测试 Square类的使用。
时间: 2024-05-07 08:19:07 浏览: 20
下面是一个实现上述要求的Java代码示例:
```
abstract class Shape {
public abstract double getPerimeter();
public abstract double getArea();
}
class Square extends Shape {
private double side;
public Square(double side) {
this.side = side;
}
@Override
public double getPerimeter() {
return 4 * side;
}
@Override
public double getArea() {
return side * side;
}
}
public class Main {
public static void main(String[] args) {
Square square = new Square(5.0);
double perimeter = square.getPerimeter();
double area = square.getArea();
System.out.println("Square perimeter: " + perimeter);
System.out.println("Square area: " + area);
}
}
```
在这个示例中,Square类继承了Shape抽象类,并且覆盖了Shape中的getPerimeter()和getArea()方法。在Square类中,我们定义了一个私有变量side表示正方形的边长。在getPerimeter()方法中,我们使用公式4 * side计算正方形的周长,而在getArea()方法中,我们使用公式side * side计算正方形的面积。
在Main类中,我们创建了一个Square对象,并分别调用了它的getPerimeter()和getArea()方法,将计算结果打印出来。输出应该为:
```
Square perimeter: 20.0
Square area: 25.0
```