java基础抽象类 声明Shape类为抽象类,包含了area()和getType()两个抽象方法,声明Triangle继承Shape类去实现该抽象方法并调用 效果如下:执行抽象类中的构造方法 三边能构成一个三角形 三角形面积为:6.0
时间: 2024-10-09 09:00:44 浏览: 35
在 Java 中,创建一个基础抽象类 (Abstract Class) 和其实现的过程可以按照以下步骤进行:
首先,我们定义一个名为 `Shape` 的抽象类,它包含两个抽象方法 `area()` 和 `getType()`,这两个方法没有具体的实现,因为它们需要由子类提供。
```java
public abstract class Shape {
protected double side1;
protected double side2;
protected double side3;
// 抽象方法,用于计算面积
public abstract double area();
// 抽象方法,获取形状类型
public abstract String getType();
// 具体构造方法,初始化三边长度
public Shape(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) {
this.side1 = a;
this.side2 = b;
this.side3 = c;
} else {
throw new IllegalArgumentException("Invalid triangle sides");
}
}
}
```
接着,我们可以创建一个名为 `Triangle` 的子类,它继承自 `Shape` 并实现了抽象方法 `area()` 和 `getType()`:
```java
public class Triangle extends Shape {
@Override
public double area() {
// Heron's formula for calculating the area of a triangle
double s = (side1 + side2 + side3) / 2;
return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
@Override
public String getType() {
return "Triangle";
}
}
```
现在,你可以创建一个 `Triangle` 实例并计算其面积:
```java
public static void main(String[] args) {
Triangle myTriangle = new Triangle(3, 4, 5);
System.out.println("A " + myTriangle.getType() + " has an area of: " + myTriangle.area());
}
```
当你运行这个程序,会输出类似以下的效果:
```
A Triangle has an area of: 6.0
```
阅读全文