编写一个完整的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();
}
}