Java 抽象类错误

Java 抽象类错误,java,abstract-class,Java,Abstract Class,我的程序有问题,我找不到思考的原因。它指向publicstaticvoidmain(String[]args)行,其他任何地方都找不到它:( 尝试检查大括号,如果我偶然错过了一个或两个,但仍然没有,它不是一个接口实现,所以我不必在实现中将抽象类的每个方法设置为public abstract class Shape { private String name; Shape(String name0) {name = name0;} abstract double area(); abst

我的程序有问题,我找不到思考的原因。它指向
publicstaticvoidmain(String[]args)
行,其他任何地方都找不到它:( 尝试检查大括号,如果我偶然错过了一个或两个,但仍然没有,它不是一个接口实现,所以我不必在实现中将抽象类的每个方法设置为public

abstract class Shape {

private String name;

Shape(String name0) {name = name0;}

abstract double area(); 

abstract double perim();

void put() { 
    System.out.println(name + " with area " + area()+ " and perimeter " + perim());
   }
}

class Circle extends Shape{
private double r;

Circle(String name0, double inR) {
    super(name0);
    r = inR;
}

double area() {
    return (Math.sqrt(r)*Math.PI);
}

double perim() {
    return 2*(Math.PI * r);
}   
}

class Rectangle extends Shape{
private double a,b;

Rectangle(String name0, double a0, double b0) {
    super(name0);
    a=a0; b=b0;
}

double area() {
    return (a*b);
}

double perim() {
    return 2*(a+b);
}
}

}

class TestClass {
    public static void main(String args[]) {


    Shape[] figures = {new Rectangle("Rectangle", 2.0, 3.0), new Rectangle("Square", 4.0, 4.0), new Circle("Circle", 2.0)};
    for (Shape s: figures) 
            s.put();
}
}

在main方法之前有一个额外的右大括号
}
。只需删除它即可


建议:使用IDE进行编码是非常明智的,因为您可以轻松、快速地避免这些编译错误。

我使用eclipse,但它没有找到它:(现在我看到这段代码,感觉类矩形没有闭合,不知道为什么:(发生了一些奇怪的事情:D它在你敲击时解决了问题,但出了点问题,我看不到矩形类的最后一个括号,但它是有效的:P所以我不介意哈哈谢谢!@ChrisDobkowski接受答案,以防有帮助。