「已注销」 2020-04-29 09:51 采纳率: 100%
浏览 1554
已采纳

编写一个完整的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),调用求面积和体积的方法。

  • 写回答

1条回答 默认 最新

  • VICTOR_fusheng 2020-04-29 15:12
    关注
    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();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图