《Java实验3

实验3

继承和多态

实验目的:

学习和使用类的继承。

掌握关键字super的意义和用法。

学习掌握类的方法覆盖技术。

熟悉Object类,以及它提供给子类的方法equals、toString、clone。

学习掌握修饰符protected和final的用法。

学习掌握抽象类的概念和使用方法。

学习掌握多态性和动态绑定的概念,学习使用多态进行程序设计。

学习掌握接口的概念和定义接口的方法。

学习使用Cloneable接口和clone方法进行对象内容的复制。

理解浅复制和深复制的概念,掌握覆盖clone方法进行对象内容深复制的技术。

实验任务:

使用Java SDK建立一个非图形化的标准Java程序学习和使用类的继承、掌握关键字super的意义和用法、掌握类的方法覆盖技术、熟悉Object类,以及它提供给子类的方法equals、toString、clone、学习掌握抽象类的概念和使用方法、学习掌握多态性和动态绑定的概念,学习使用多态进行程序设计。程序要求:

首先创建一个类家族,其中抽象类几何图形类GeometricObject为父类,圆类Circle和矩形类Rectangle为子类。几何图形类GeometricObject中定义保护型字符串变量color,表示图形的颜色;该类要具备构造方法和两个抽象方法findArea和findPerimeter,抽象方法findArea求图形面积,抽象方法findPerimeter求图形周长。

Circle类和Rectangle类是GeometricObject类的子类,其中应实现父类的抽象方法。

创建静态方法equalArea,用来比较图形的面积(不是以上三个类的成员方法)。方法名称如下:

static boolean equalArea(GeometricObject object1, GeometricObject

object2)

创建静态方法displayGeometricObject,用来显示几何对象的信息(不是以上三个类的成员方法)。方法名称如下:

static void displayGeometricObject(GeometricObject object)

程序主方法中创建两个几何对象,一个圆和一个矩形,并用GeometricObject类的引用变量引用它们,调用equalArea比较两个对象的面积是否相等,并调用displayGeometricObject方法显示对象信息。

使用Java SDK建立一个非图形化的标准Java程序,进一步学习多态特性以及接口的概念和利用接口实现多态的方法。程序要求如下:

首先创建圆类Circle和圆柱体类Cylinder,其中Circle类是父类,Cylinder类是子类;

创建接口Comparable,其中包含一个抽象方法compareTo,用来比较对象的大小。抽象方法compareTo的形式如下:

public int compareTo(Object o);

创建类ComparableCircle,该类为Circle类的子类,并实现Comparable接口。

创建类ComparableCylinder,该类为Cylinder类的子类,并实现Comparable接口。

创建通用类Max,其中包含通用方法max,只要月一个类实现了Comparab