编写一个完整的Java程序,要求: (1)定义接口Face1,在该接口中定义常量PI,值为3.14,定义求底面积的抽象方法area(),无参数,返回值为双精度;........

编写一个完整的Java程序,要求:
(1)定义接口Face1,在该接口中定义常量PI,值为3.14,定义求底面积的抽象方法area(),无参数,返回值为双精度;
(2)定义接口Face2,在Face2中定义无参、无返回值的抽象方法volume();
(3)定义圆柱体类Cylinder,实现Face1、Face2接口;该类中还包括:
半径radius,高height(均为私有双精度);
构造方法public Cylinder(double r, int h),实现对私有成员的初始化;
实现接口中求底面积和体积的方法;
(4)主类Test,在主方法中,利用构造方法,创建圆柱体实例(假设:半径为3.2,高为2),调用求面积和体积的方法。

public interface Face1 {
    double PI = 3.14;

    double area();
}

public interface Face2 {
    void volume();
}
public class Cylinder implements Face1,Face2 {

    private double ridus;

    private double height;

    public Cylinder(double ridus, double height) {
        this.ridus = ridus;
        this.height = height;
    }

    /**
     * 正常来说构造参数的传参要和数据类型一直,所以不推荐int
     * @param ridus
     * @param height
     */
    public Cylinder(double ridus, int height) {
        this.ridus = ridus;
        this.height = height;
    }

    @Override
    public double area() {
        return PI * ridus * ridus;
    }

    @Override
    public void volume() {
        double volume = area() * height;
        System.out.println("volume=" + volume);
    }
}
public class QuestionTest {
    public static void main(String[] args) {
        Cylinder cylinder = new Cylinder(3.2, 2);
        System.out.println(cylinder.area());
        cylinder.volume();
    }
}