北京信息科技大学Java语言程序设计-抽象类和接口



《北京信息科技大学Java语言程序设计-抽象类和接口》由会员分享,可在线阅读,更多相关《北京信息科技大学Java语言程序设计-抽象类和接口(8页珍藏版)》请在文档大全上搜索。
1、实验4 抽象类和接口 【实验宗旨】 每天做一点编程练习。 【实验目的】 1、学习和掌握Java抽象类的定义和使用。 2、学习和掌握Java接口的定义和使用。 3、进一步学习和掌握通用程序设计方法。 【实验步骤(解题过程)】 参见实验2。 【实验内容】 1、(CompareableCirlce类)创建名为CompareableCircle类,它扩展Circle类并实现Compareable接口。画出UML图,实现compareTo方法,使其可以根据面积比较两个圆。编写一个测试程序求出CompareableCircle对象的两个实例中的较大者。 说明:来源编程练习14.2(P399)。java.l
2、ang.Compareable接口参见14.5小节(P378)。Circle类的实现,参见程序清单11.2(P303)。【实验预习】1. 问题描述:该题描述的是创建一个CompareableCircle类来实现两个圆的比较。2. 创建两个CompareableCircle类的实例,利用Comparable接口,并调用ComparableMax方法实现。【附程序代码】SuppressWarnings(unchecked)public class testCompareableCircle/主方法public static void main(Stringargs)CompareableCircl
3、e C1=new CompareableCircle(10);CompareableCircle C2=new CompareableCircle(3);System.out.println(The maxnium Circle is +ComparableMax(C1,C2)+的圆);/比较两个圆的大小public static Comparable ComparableMax(Comparable C1,Comparable C2)if(CpareTo(C2)0)return C1;else return C2;public class CompareableCircle extends
4、Circle implements Comparable/建立个指定半径的圆CompareableCircle(double radius)super(radius);/Comparable接口的方法public int compareTo(Object o)if(getArea()(CompareableCircle)o).getArea()return 1;else if(getArea() (Circle1)o).getArea() return 1; else if (this.getArea() (Circle1)o).getArea() return -1; else return
5、 0; /覆盖Object中的equals方法 public boolean equals(Object o) return this.getArea() = (Circle1)o).getArea(); 【UML图】【实验过程与运行结果】 在实验过程中,不会编写equals的覆盖方法。解决方法:应该是写成; public boolean equals(Object o) return this.getArea() = (Circle1)o).getArea();3、(求几何对象的面积之和)编写一个方法,求数组中所有几何对象的面积之和。方法签名如下: public static double