Java计算几何图形面积的实例代码

 更新时间:2014年03月01日 16:30:50   作者:  
这篇文章主要介绍了Java计算几何图形面积的实例代码,需要的朋友可以参考下

对于每个几何图形而言,都有一些共同的属性,如名字、面积等,而其计算面积的方法却各不相同。为了简化开发,请编写程序,定义一个超类来实现输入名字的方法,并使用抽象方法来计算面积。

思路分析:

所谓超类就是抽象父类,该抽象类中有两个方法,分别用来获取图形的名称和图形的面积。要获得图形的名称,通过类的getClass().getSimpleName()方法可以实现;要获得图形的面积,因为计算面积的方法各不相同,所以该方法是个抽象方法。
定义一个子类表示圆形,圆形的半径通过构造方法获得,圆形的面积通过重写超类中的抽象方法获得,其中圆周率可以用Math.PI表示。
其他类同步骤2,半径、长、宽等参数通过构造方法获得,这样才省事嘛。
    代码如下:

复制代码 代码如下:

public abstract class Shape {
    public String getName() {//获得图形的名称
        return this.getClass().getSimpleName();
    }
    public abstract double getArea();//获得图形的面积
}
public class Circle extends Shape {
    private double radius;
    public Circle(double radius) {//获得圆形的半径
        this.radius = radius;
    }
    @Override
    public double getArea() {//计算圆形的面积
        return Math.PI * Math.pow(radius, 2);
    }
}
public class Rectangle extends Shape {
    private double length;
    private double width;
    public Rectangle(double length, double width) {//获得矩形的长和宽
        this.length = length;
        this.width = width;
    }
    @Override
    public double getArea() {//计算矩形的面积
        return length * width;
    }
}
public class Test {
    public static void main(String[] args) {
        Circle circle = new Circle(1);//创建圆形对象并将半径设置成1
        System.out.println("图形的名称是:" + circle.getName());
        System.out.println("图形的面积是:" + circle.getArea());
        Rectangle rectangle = new Rectangle(1, 1);//创建矩形对象并将长和宽设置成1
        System.out.println("图形的名称是:" + rectangle.getName());
        System.out.println("图形的面积是:" + rectangle.getArea());
    }
}

效果如图:

相关文章

  • servlet重定向详解(八)

    servlet重定向详解(八)

    这篇文章主要为大家详细介绍了servlet重定向的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Java通过Lambda表达式实现简化代码

    Java通过Lambda表达式实现简化代码

    我们在编写代码时,常常会遇到代码又长又重复的情况,就像调用第3方服务时,每个方法都差不多, 写起来啰嗦, 改起来麻烦, 还容易改漏,所以本文就来用Lambda表达式简化一下代码,希望对大家有所帮助
    2023-05-05
  • Java源码解析CopyOnWriteArrayList的讲解

    Java源码解析CopyOnWriteArrayList的讲解

    今天小编就为大家分享一篇关于Java源码解析CopyOnWriteArrayList的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • java批量导入导出文件的实例分享(兼容xls,xlsx)

    java批量导入导出文件的实例分享(兼容xls,xlsx)

    这篇文章主要给大家介绍了利用java批量导入导出文件的相关资料,文中给出了详细的实例代码,并且兼容xls,xlsx,对大家具有一定的参考学习价值,下面跟着小编一起来看看详细的介绍吧。
    2017-06-06
  • SpringBoot +DynamicDataSource切换多数据源的全过程

    SpringBoot +DynamicDataSource切换多数据源的全过程

    这篇文章主要介绍了SpringBoot +DynamicDataSource切换多数据源的全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringBoot 微信退款功能的示例代码

    SpringBoot 微信退款功能的示例代码

    这篇文章主要介绍了SpringBoot 微信退款功能的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Mybatis中isNotNull与isNotEmpty的使用心得

    Mybatis中isNotNull与isNotEmpty的使用心得

    这篇文章主要介绍了Mybatis中isNotNull与isNotEmpty的使用心得,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • SpringBoot实现数据加密脱敏的示例代码

    SpringBoot实现数据加密脱敏的示例代码

    这篇文章主要为大家学习介绍了SpringBoot如何利用注解+反射+AOP实现数据加密脱敏的功能,文中的示例代码讲解详细,需要的可以参考一下
    2023-08-08
  • java &与&&的区别及实例

    java &与&&的区别及实例

    这篇文章主要介绍了java &与&&的区别的相关资料,并附简单实例,帮助大家学习理解这部分知识,需要的朋友可以参考下
    2016-10-10
  • 如何实现springboot中controller之间的相互调用

    如何实现springboot中controller之间的相互调用

    这篇文章主要介绍了实现springboot中controller之间的相互调用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论