定义抽象类Shape,其中包含抽象方法double getPeremeter()求周长和double getArea()求面积。
时间: 2024-02-25 14:55:23 浏览: 41
好的,以下是定义抽象类Shape的代码:
```java
public abstract class Shape {
public abstract double getPerimeter();
public abstract double getArea();
}
```
需要注意的是,抽象类中的抽象方法没有方法体,需要在子类中进行具体的实现。
相关问题
定义抽象类Shape,其中包含抽象方法double getPeremeter()求周长和double getArea()求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法,定义一个方法一次性直接显示长和宽、周长和面积。 定义一个圆形类,继承此抽象类,并自行扩充成员变量和方法,定义一个方法一次性直接显示半径、周长和面积。 定义一个测试类进行测试
好的,以下是定义抽象类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方法即可进行测试。
【实践训练】 1. 定义抽象类 Shape,其中包含抽象方法 double getPeremeterO求周长和 double getArea0求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法,定义一个方法 一次直接显示长和宽、周长和
面积的值。代码如下:
```java
// 定义抽象类 Shape
public abstract class Shape {
// 定义抽象方法
public abstract double getPerimeter();
public abstract double getArea();
}
// 定义矩形类 Rectangle 继承 Shape 抽象类
public class Rectangle extends Shape {
// 定义矩形类的成员变量
private double length;
private double width;
// 构造方法
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 重写 Shape 抽象类的方法
@Override
public double getPerimeter() {
return 2 * (length + width);
}
@Override
public double getArea() {
return length * width;
}
// 定义自己的方法
public void display() {
System.out.println("长: " + length + "\t宽: " + width);
System.out.println("周长: " + getPerimeter() + "\t面积: " + getArea());
}
}
```
使用示例:
```java
public class Main {
public static void main(String[] args) {
Rectangle rectangle = new Rectangle(3, 4);
rectangle.display();
}
}
```
输出结果:
```
长: 3.0 宽: 4.0
周长: 14.0 面积: 12.0
```
阅读全文