xingchao
发贴: 32
积分: 0
|
于 2006-02-25 19:48
//AbstractClass.java import java.awt.*; import java.applet.*; abstract class Shapes //抽象类 { public int x,y; public int width,height; public Shapes(int x,int y,int width,int height) //构造方法 { this.x=x; this.y=y; this.width=width; this.height=height; } abstract double getArea(); //抽象方法说明 abstract double getPerimeter(); //抽象方法说明 } class Square extends Shapes //定义Square类,它是从Shapes抽象类扩展的 { public double getArea() //抽象方法的实现 { return(width*height); //计算矩形面积 } public double getPerimeter() //抽象方法的实现 { return(2*width+2*height); } public Square(int x,int y,int width, int height) { super(x,y,width,height); //调用超类的方法 } } class Circle extends Shapes //定义Circle类,它是从Shapes抽象类扩展的 { public double r; public double getArea() //抽象方法的实现 { return(r*r*Math.PI); //计算圆面积 } public double getPerimeter() //抽象方法的实现 { return(2*Math.PI*r); //计算圆的周长 } public Circle(int x,int y,int width,int height) //构造方法 { super(x,y,width,height); //调用超类的方法 r=(float)width/2.0; } } public class AbstractClass extends Applet { Square Box = new Square(5,15,20,20); //创建Square类对象,并赋初值 Circle Oval = new Circle(5,50,20,20); //创建Circle类对象,并赋初值 public void paint(Graphics g) { g.drawRect(Box.x, Box.y, Box.width,Box.height); //画矩形 g.drawString("Area:"+Box.getArea(),50,35); //按指定位置显示矩形面积 g.drawOval(Oval.x, Oval.y, Oval.width, Oval.height); //画圆形 g.drawString("Area:"+(float)Oval.getArea(),50,70); //按指定位置显示圆面积 } } 这个程序编译时通过了 。但是,在运行时却出现了这样的状况 Exception in thread “main ” java.lang. NoSuchMethodError:main 请问这是怎么回事??
|