java接口的定义和实现接口-java实验报告
定义一个抽象基类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、 实验步骤与源程序
⑴ 实验步骤
a) 编写源代码
b) 编译源代码
c) 运行程序
⑵ 源代码
一, public class UseAbstract
{
public static void main(String[] args)
{
Shape rec =new Rectangle(3,6);
Shape cir = new Circle(6);
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(5));
}
}
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的多态性,相对还是比较简单的358