定义三个类,父类GeometricObject代表几何形状,子类Circle代表圆形,MyRectangle代表矩形。
定义一个测试类GeometricTest,编写equalsArea方法测试两个对象的面积是否相等(注意方法的参
数类型,利用动态绑定技术),编写displayGeometricObject方法显示对象的面积(注意方法的参
数类型,利用动态绑定技术)。


代码实现

public class GeometricObject {//几何图形private String color;private double weight;public GeometricObject(String color, double weight) {this.color = color;this.weight = weight;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public double findArea(){return 0.0;}
}
public class Circle extends GeometricObject{private double radius;public Circle(double radius,String color, double weight) {super(color, weight);this.radius=radius;}public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}@Overridepublic double findArea() {return Math.PI*radius*radius;}
}
public class MyRectangle extends GeometricObject{private double width;private double height;public MyRectangle(double width,double height,String color, double weight) {super(color, weight);this.height=height;this.width=width;}public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}@Overridepublic double findArea() {return height*width;}
}
/** 定义一个测试类GeometricTest,* 编写equalsArea方法测试两个对象的面积是否相等(注意方法的参数类型,利用动态绑定技术),* 编写displayGeometricObject方法显示对象的面积(注意方法的参数类型,利用动态绑定技术)。**/
public class GeometricTest {public static void main(String[] args) {GeometricTest geometricTest=new GeometricTest();Circle circle=new Circle(2,"white",1.0);Circle circle1=new Circle(3,"white",1.0);boolean isEquals = geometricTest.equalsArea(circle,circle1);System.out.println(isEquals);MyRectangle myRectangle= new MyRectangle(2,3,"black",1.0);System.out.println(geometricTest.displayGeometricObject(myRectangle));}public double displayGeometricObject(GeometricObject o) {//GeometricObject o = new Circle(...)return o.findArea();}public boolean equalsArea(GeometricObject o1, GeometricObject o2) {return o1.findArea() == o2.findArea();}
}

原创不易,喜欢就点个赞吧.

java多态的练习 ,定义三个类,父类GeometricObject代表几何形状,子类Circle代表圆形,MyRectangle代表矩形。 定义一个测试类GeometricTest,编写equals相关推荐

  1. /*按要求编写一个Java应用程序程序:(1)定义一个接口CanFly,描述会飞的方法public void fly();(2)分别定义类飞机和鸟,实现CanFly接口。(3)定义一个测试类,测试飞机

    /* 按要求编写一个Java应用程序程序: (1)定义一个接口CanFly,描述会飞的方法public void fly(); (2)分别定义类飞机和鸟,实现CanFly接口. (3)定义一个测试类, ...

  2. JAVA 编写一个员工类,成员变量和成员方法自拟,编写一个测试类

    课后习题练习 3.4 编写程序实现以下功能: (1).员工类(Emploee):c=成员变量包含员工号和员工姓名,成员方法包含构造方法和输出方法(输出员工信息). (2). 部门主管类(Manager ...

  3. 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。

    定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法. 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值. public cla ...

  4. 1、使用类与接口的知识完成如下要求:(1)定义一个接口CanFly,描述会飞的方法public void fly();(2)分别定义类飞机和鸟,实现CanFly接口。(3)定义一个测试类,测试飞

    1.使用类与接口的知识完成如下要求: (1)定义一个接口CanFly,描述会飞的方法public void fly(); (2)分别定义类飞机和鸟,实现CanFly接口. (3)定义一个测试类,测试飞 ...

  5. 如何在gradle上仅运行一个测试类

    本文翻译自:How to run only one test class on gradle I am new to Gradle. 我是Gradle的新手. I use Gradle 1.10 an ...

  6. java多态基础_java基础(三)-----java的三大特性之多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...

  7. java创建Shape类,求子类circle,圆形rectangle矩形,rhombus菱形的周长和面积

    测试类:主要实现创建新对象,并初始化,然后输出结果. package lesson2; public class Demo1 { public static void main(String[] ar ...

  8. Java初级应用——编写西游记人物类,属性包括,身高,名字,武器。用一个测试类测试。

    ( 1)编写西游记人物类(XiYouJiRenWu) 其中属性有:身高(height),名字(name),武器(weapon) 方法有:显示名字(printName),显示武器(printWeapon ...

  9. SpringBoot项目中如何写一个测试类

    写好一个接口时,又不想重启服务,可以用测试类进行测试,引入目标接口,传入相应的参数 @RunWith(SpringJUnit4ClassRunner.class) @ActiveProfiles(&q ...

  10. 体质测试java代码_求java代码,要求做一个测试类,实现以下功能之一。最好三个功能都有。...

    展开全部 import java.util.*; public class Admin {//管理类 Scanner in=new Scanner(System.in); String msg=&qu ...

最新文章

  1. windows7 端口查看以及杀死进程释放端口
  2. MediaWiki安装
  3. React 开始制作 6
  4. HDU2552 三足鼎立 【数学推理】
  5. 《算法进阶指南》最小生成树剩余题目
  6. EJB3与Spring的集成
  7. dataframe两个表合并_DAXSQLPython实现报表项目存在串行的财务报表合并
  8. 如何优雅的实现一个靠谱的RTSP播放器?
  9. 从spring容器中获取对象工具类
  10. 页面固定定位超出一屏
  11. switch 是如何支持 String 的?为什么不支持 long?
  12. DTD(Document Type Definition) 简介
  13. 算法学习:LeetCode-592. 分数加减运算
  14. Axure 软件自带的图标元件Icons无法显示的问题解决方法
  15. php hapijs,hapi 起步
  16. 苹果系统下载了python软件怎么卸载_mac怎么卸载pycharm
  17. 基于python的阴阳师后台辅助
  18. 大数据的关键技术(二)
  19. Oracle Core: Essential Internals for DBAs and Developers
  20. 奥数-------i3*6528=3i*8256 让我们猜猜i的值

热门文章

  1. 2021美团校招(一)
  2. 【C++】C++入门
  3. java 单机传奇_Win7/Win10系统架设单机传奇手游教程[战神引擎]
  4. 万达电商为何刻意回避阿里与马云
  5. python sep参数_Python sep参数使用方法详解
  6. 别没事就打开懂车帝了,我的字节跳动懂车帝三面面试经验
  7. Google Play 上架全流程_2022年谷歌应用商店上架流程
  8. iOS 获取手机 唯一标识
  9. vscode配置maven,settings.json文件
  10. 支付宝和微信横扫境外商户,外国人冷眼旁观