java程序设计类的多态、抽象类、接口和包的使用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六:类的多态、抽象类、接口和包的使用

一、实验目的

熟练地掌握Java语言的掌握类的多态、抽象类、接口和包的使用的编程。通过实验掌握编写程序的思想方法,体会编程的技巧,加深Java语言的应用能力。

二、实验环境

硬件环境:微型计算机。

软件环境:Windows 2000或以上版本,JKD, Jcreator

三、实验内容与要求

用Java语言编程实现以下问题:

1、利用多态编写程序,定义一个JuLi类,只包含两个方法distance(double x,double y)求出点(x,y)到原点之间的距离和distance(double x,double y,double z)求出点(x,y,z)到原点之间的距离。再定义一个public类,用类名去创建两个对象,输出其两值。提示:开平方根用Math.sqrt(9.0),注意所有的数据一定要用double类型

程序:

class JuLi

{

double distance(double x,double y)

{

return Math.sqrt(x*x+y*y);

}

double distance(double x,double y,double z)

{

return Math.sqrt(x*x+y*y+z*z);

}

}

public class Distance_DuoTai

{

public static void main(String args[])

{

JuLi s=new JuLi();

System.out.println("点(x,y)到原点之间的距离"+s.distance(3.0,4.0));

System.out.println("点(x,y,z)到原点之间的距离"+s.distance(3.0,4.0,12.0));

}

}

运行结果:

2、声明一个抽象类Shape,有抽象成员方法circle_area和circle_girth。再声明类Circle为Shape的子类,其中成员变量r以及一个构造方法

还有成员方法circle_area和circle_girth,并具体实现了相应的抽象方法用来求圆的面积和圆的周长,再定义一个public类,写一个main()方法在这个方法中用类创建对象,并求出面积和周长并输出

程序:

abstract class Shape

{

abstract double circle_area();

abstract double circle_girth();

}

class Circle extends Shape

{

final double PI=3.14;

double r;

Circle(double r1)

{

r=r1;

}

double circle_area()

{

return PI*r*r;

}

double circle_girth()

{

return 2*PI*r;

}

}

public class abstract_test

{

public static void main(String args[])

{

Circle a=new Circle(3.2);

System.out.println("圆面积为:"+a.circle_area());

System.out.println("圆面积为:"+a.circle_girth());

}

}

运行结果:

3、利用接口编写程序:定义一个重力ZhongLi这样一个接口,包含一个常量g为9.8和一个公有的抽象方法Li,再定义一个密度MiDu这样一个接口,包含一个公有的抽象方法Du。再定义一个JiSuan类去继承上面两个接口,同时在这个类中,定义一个变量m(物体的重量)和体积v(物体的体积),和一个构造方法使m和v赋值,同时实现Li这个方法,求出物体的重力(=重量*g),和Du这个方法,求出物体的密度(重量/体积).再定义一个public类

在main()中用类名去创建对象,输出对象的重力和密度。

程序:

interface ZhongLi

{

final double g=9.8;

public abstract double Li();

}

interface MiDu

{

public abstract double Du();

}

class JiSuan implements ZhongLi,MiDu

{

double m,v;

JiSuan(double m1,double v1)

{

m=m1;

v=v1;

}

public double Li()

{

return m*g;

}

public double Du()

{

return m/v;

}

}

public class WuLi_Interface

{

public static void main(String args[])

{

JiSuan a=new JiSuan(9.8,9.8);

System.out.println("物体的重力为:"+a.Li());

System.out.println("物体的密度为:"+a.Du());

}

}

运行结果:

相关文档
最新文档