zoukankan      html  css  js  c++  java
  • Java 抽象类

      编写一个程序,定义一个抽象类“Shape”,包含两个方法,计算周长和计算面积。然后定义两个子类,矩形(Rect)和圆形(Circle)。矩形有长和宽属性,圆形有半径属性,但两个类都要实现抽象类中的周长和计算面积方法。

      编写测试类测试上述类。

    1.定义一个抽象类“Shape”,包含两个方法,计算周长和计算面积。

    packagecom.shen.shape;
    //定义一个抽象类“Shape”,包含两个方法,计算周长和计算面积。
    publicabstractclass Shape {
    publicabstractdoublegetCircumference(); //计算周长
    publicabstractdoublegetArea(); //计算面积
    }

    2.定义子类矩形(Rect)继承自抽象类“Shape”

    packagecom.shen.shape;
    //定义子类矩形(Rect)继承自抽象类“Shape”
    publicclassRectextends Shape{
        privatedoublewidth; //矩形的长
        privatedoubleheight; //矩形的宽
    
        //构造函数
        publicRect(double width, double height) {
            super();
            this.width = width;
            this.height = height;
        }
    
        //求矩形的周长
        @Override
        publicdoublegetCircumference() {
            // TODO Auto-generated method stub
            return (width+height)/2.0;
        }
    
        //求矩形的面积
        @Override
        publicdoublegetArea() {
            // TODO Auto-generated method stub
            returnwidth*height;
        }
    }

    3.定义子类圆形(Circle)继承自抽象类“Shape”

    packagecom.shen.shape;
    //定义子类圆形(Circle)继承自抽象类“Shape”
    publicclass Circle extends Shape{
        privatedoubler; //圆的半径
    
        //构造函数
        public Circle(double r) {
                super();
                this.r = r;
            }
        //求圆的周长
        @Override
        publicdoublegetCircumference() {
            // TODO Auto-generated method stub
            return 2*Math.PI*r;
        }
    //求圆的面积
        @Override
        publicdoublegetArea() {
            // TODO Auto-generated method stub
            returnMath.PI*r*r;
        }
    }

    4.定义一个测试类Main测试上述类。

    packagecom.shen.shape;
    //这是一个测试类Main
    publicclass Main {
        /**
         * @paramargs
         */
        publicstaticvoid main(String[] args) {
            // TODO Auto-generated method stub
    //测试矩形类,求矩形的周长和面积
            Rectrect=newRect(5, 6);
            System.out.println("长是5,宽是6的矩形的周长是: "+rect.getCircumference());
            System.out.println("长是5,宽是6的矩形的面积是: "+rect.getArea());
            
        //测试圆形类,求圆形的周长和面积
            Circle circle=new Circle(5);
            System.out.println("
    半径是5的圆的周长是: "+circle.getCircumference());
            System.out.println("半径是5的圆的面积是: "+circle.getArea());
        }
    }

    5.结果截图如下所示:

  • 相关阅读:
    UDP的坏处
    进程控制块(Process Control Block, PCB)
    分布式中一些关键概念的解释
    线程池的设计实现
    [原创] 同步、异步、阻塞、非阻塞详解
    常用场景对文件状态的影响
    echo使用说明,参数详解
    Linux下源码安装ffmpeg及ffmpeg的简单使用说明
    127.0.0.1、0.0.0.0和本机IP地址的区别和使用
    链路层的简介和MTU
  • 原文地址:https://www.cnblogs.com/shenxiaolin/p/5723845.html
Copyright © 2011-2022 走看看