编写一个多态性java程序_java多态性

java多态性

java多态性

1、 实验内容或题目

(1) 定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写编写应用程序使用Rectangle类和Circle类。

(2) 定义一个接口ClassName,接口中只有一个抽象方法getClassName()。设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。编写应用程序使用Horse类。

(3) 定义接口myItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。

(4) 编写小程序,在小程序窗口中显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动(提示:得到键盘键代码的方法是e.getKeyCode(),上、下、左、右键的编码分别用常量VK_UP 、VK_DOWN 、VK_LEFT 、VK_RIGHT表示)。

2、实验目的与要求

⑴ 多态性。

⑵ 接口的定义和实现接口。

⑶ 内部类、匿名内部类对象的的编写和使用。

3、 实验步骤与源程序

⑴ 实验步骤

编辑源文件,可用Jcreater或EditPlus 2软件编辑

编译,若编译成功,则进入运行,进入DOS下运行 javac  XX.java;若不成功,则返回编辑源文件

运行文件java  XX   或appletviewer  XX.htm等

⑵ 源代码

题目一:

public class UseAbstract

{

public static void main(String[] args)

{

Shape rec =new Rectangle(4,7);

Shape cir = new Circle(8);

System.out.println("长方形的面积:"+rec.getArea());

System.out.println("圆的面积:"+cir.getArea());

}

}

abstract class Shape

{

public abstract double getArea();

}

class Rectangle extends Shape

{

double d,w;

public Rectangle(double d,double w)

{

this.d=d;

this.w=w;

}

public double getArea()

{

return d*w;

}

}

class Circle extends Shape

{

double r;

public Circle(double r)

{

this.r=r;

}

public double getArea()

{

return Math.PI*r*r;

}

}

题目二:

interface ClassName

{

public abstract void getClassName();

}

class Horse implements ClassName

{

public void getClassName()

{

System.out.println("该类名为:Horse");

}

}

public class UseInterface

{

public static void main(String[] args)

{

Horse h =new Horse();

h.getClassName();

}

}

题目三:

public class Test

{

public static void main(String[] args)

{

A a=new A();

System.out.println(a.area(6));

}

}

interface myItfc

{

public double area (double a);

}

class A implements myItfc

{

public double area (double a)

{

return a*a*a;

}

}

题目四:

import java.awt.*;

import java.applet.*;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

public class AppMove extends Applet implements KeyListener{

int x=200,y=100;

public void paint(Graphics g) {

g.drawString("Welcome to Java!!", x, y );

}

public void init()

{

addKeyListener(this);

}

public void keyPressed(KeyEvent e){

if(e.getKeyCode()==KeyEvent.VK_UP)

y-=3;

else if(e.getKeyCode()==KeyEvent.VK_DOWN)

y+=3;

else if(e.getKeyCode()==KeyEvent.VK_LEFT)

x-=3;

else if(e.getKeyCode()==KeyEvent.VK_RIGHT)

x+=3;

repaint();

}

public void keyReleased(KeyEvent e){

}

public void keyTyped(KeyEvent e){

}

}

4、 测试数据与实验结果(可以抓图粘贴)

题目一:

题目二:

题目三:

题目四:

5、 结果分析与实验体会

本次实验是java程序语言设计的第六次实验了,这六次实验对我们的非常重要,有助于帮助我们理解java程序设计语言。

实验还是4题。第一题是定义一个抽象基类Shape,用getArea()方法计算对象的面积。第二题是设计一个类Horse,获取该类的的类名。第三题编写一个应用程序,并实现接口myItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。第四题做的是显示字符串“java程序设计”,按下键盘上的箭头键,可按照箭头方向移动。这四道题目与以前做的大致相同。

java课程学习已经接近了尾声。在这一个学期不到的时间内,我们学习到了java程序语言设计。Java 程序设计与以前我们学过的C\C++有许多的类似之处。所以也能较好的理解这门课程,做实验是为了将我们书本上学到的知识转化为实际的操作经验,能动手编程、调试,是与我们学校给我们定义技术型本科相符合的。我们现在要做好java程序设计的期末复习工作,更好的学习和掌握这门课程。379

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值