Java错误非法启动表达式

Java错误非法启动表达式,java,Java,我得到错误,这有一个非法的表达式开始,它表明几乎每一行都是一个问题。有什么能帮我的忙吗 public abstract class Shapes { public static void main(String[] args) { protected final double pi=3.14; //varible pi is delcared as constant protected double radius; protected double hei

我得到错误,这有一个非法的表达式开始,它表明几乎每一行都是一个问题。有什么能帮我的忙吗

public abstract class Shapes
{
public static void main(String[] args)
{
    protected final double pi=3.14;

    //varible pi is delcared as constant

     protected double radius;
     protected double height;

     public Shapes (double gRadius,double gHeight)  
     {
        //sets radius, height variables to parameter values
        radius=gRadius;
        height=gHeight;
     }

          abstract public double getCircumference();
          abstract public double getTotalSurfaceArea();
          abstract public double getVolume();
}
}

您的问题是您将类的内容放在主方法中

只需移动您的主屏幕:

public abstract class Shapes
{
    protected final double pi=3.14;

    //varible pi is delcared as constant

     protected double radius;
     protected double height;

     public Shapes (double gRadius,double gHeight)  
     {
        //sets radius, height variables to parameter values
        radius=gRadius;
        height=gHeight;
     }

     abstract public double getCircumference();
     abstract public double getTotalSurfaceArea();
     abstract public double getVolume();

     public static void main(String[] args)
     {
     }
}

变量方法构造函数必须在声明它们的类的内声明,而不是在主方法内声明,因此移动所有变量方法构造函数从main方法在类中声明,那么您的代码将正常工作

public abstract class Shapes{

protected final double pi=3.14;

//varible pi is delcared as constant

 protected double radius;
 protected double height;

 public Shapes (double gRadius,double gHeight)  
 {
    //sets radius, height variables to parameter values
    radius=gRadius;
    height=gHeight;
 }

 abstract public double getCircumference();
 abstract public double getTotalSurfaceArea();
 abstract public double getVolume();

 public static void main(String[] args)
 {
 }

}

您应该只在类内声明所有变量和方法。所有对象创建和调用方法都必须在main()方法中完成。如下所示 公共抽象类形状 { 保护最终双pi=3.14

 protected double radius;
 protected double height;

 public Shapes (double gRadius,double gHeight)  
 {
    //sets radius, height variables to parameter values
    radius=gRadius;
    height=gHeight;
 }

 abstract public double getCircumference();
 abstract public double getTotalSurfaceArea();
 abstract public double getVolume();
public static void main(String args[])
{
} 
}

@Rustam我的意思是,类的所有内容都在主方法中。