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