代码运行不通, 我GOOGLE了, 说是没main方法, 事实上我是写了main的,求大虾看看, 先谢了!不是吝啬分, 是想留着多问几个问题, 不想用申请N个马甲, 不过我相信你们不是为了分才来论坛的。 : )
package study.javase.test;abstract class Shape {
public final double PI = 3.14;
public Shape() {
System.out.println("A shape was create.");
}
void draw() {
System.out.println("Draw a shape");
}
// abstract method
abstract double area();
}
//
class Circle extends Shape {
int xpos;
int ypos;
int radius;
public Circle() {
super();
}
public Circle(int x, int y, int r) {
super();
xpos = x;
ypos = y;
radius = r;
}
public void draw() {
System.out.println("draw a circle");
}
public double area() {
return PI*radius*radius;
}
}
//
class Rectangle extends Shape {
int left;
int top;
int width;
int height;
public Rectangle() {
super();
}
public Rectangle(int l, int t, int w, int h) {
super();
left = l;
top = t;
width = w;
height = h;
}
public double area() {
return width*height;
}
}
public class Abstract {
public static void main(String args[]) {
Shape rec = new Rectangle(0, 0, 40, 30);
System.out.println(rec.area());
rec.draw();
Shape sha = new Circle(120, 130, 50);
System.out.println(sha.area());
sha.draw();
}
}

解决方案 »

  1.   

     public static void main(String[] args) 
      

  2.   

    敢问你java文件的文件名是啥? 是不是 Abstract.java ? 如果不是请修正。
      

  3.   

    我怎么也没看出有什么问题!我也用你的代码运行了下,也是可以运行的!你运行的类文件名字是叫Abstract?
      

  4.   

    是Abstract。javaException in thread "main" java.lang.NoSuchMethodError: study.javase.test.Shape.area()D
    at study.javase.test.Abstract.main(Abstract.java:60)
      

  5.   

    Exception in thread "main" java.lang.NoSuchMethodError: study.javase.test.Shape.area()D
    at study.javase.test.Abstract.main(Abstract.java:60)
      

  6.   

    Exception in thread "main" java.lang.NoSuchMethodError: study.javase.test.Shape.area()D
    at study.javase.test.Abstract.main(Abstract.java:60)
      

  7.   

    你这个错误,不是指找不到 main函数,而是main函数在执行过程中出错了,出错位置是第60行。出错原因是没有找到:study.javase.test.Shape.area() 这个函数。
      

  8.   

    不过你这个错误也很神奇,因为你贴出来的代码,我本机测试是没有任何问题的。Eclipse + JDK 1.6输出结果:
    A shape was create.
    1200.0
    Draw a shape
    A shape was create.
    7850.0
    draw a circle
      

  9.   

    很感谢大家, 自己找到了,是类重名了, 包内已经有个 Shape 类了, 改下名字即可!吃过晚饭的时候准备告诉大家的, 但是帖子连发了三个, 不让我发了。