下面要求怎么用Java实现

编写一个Geometry的子类Triangle,可以计算三角形的面积,在主类中让Student 类的对象zhang调用area的方法计算一个三角形和两个圆的面积之和


import java.lang.Math;

// 几何图形类
abstract class Geometry {
    abstract double area();
}

// 三角形类
class Triangle extends Geometry {
    private double a, b, c;

    public Triangle(double a, double b, double c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public double area() {
        double p = (a + b + c) / 2.0;
        return Math.sqrt(p * (p - a) * (p - b) * (p - c));
    }
}

// 学生类
class Student {
    private String name;
    private Geometry geometry;

    public Student(String name, Geometry geometry) {
        this.name = name;
        this.geometry = geometry;
    }

    public double calcArea() {
        return geometry.area();
    }
}

// 主类
class Main {
    public static void main(String[] args) {
        Student zhang = new Student("张三", new Triangle(3.0, 4.0, 5.0));
        double area1 = zhang.calcArea();  // 计算三角形面积
        double area2 = Math.PI * 2.0 * 2.0;  // 计算圆的面积
        System.out.println("三角形面积为:" + area1);
        System.out.println("圆的面积为:" + area2);
        System.out.println("三角形和两个圆的面积之和为:" + (area1 + 2 * area2));
    }
}

--
运行结果如下:

三角形面积为:6.0
圆的面积为:12.566370614359172
三角形和两个圆的面积之和为:31.132741228718345

有用的话,采纳一下哈