为什么这个会出现main不能声明为static呢?

package creat_class;

public class main_class
{
class box
{
double length;
double width;
double height;
void volume(){
System.out.print("volume is ");
System.out.println(length*width*height);
}
}

class boxdome
{
    public static void main(String arg[])
    /*The method main cannot be declared static; static methods can only be declared in a static or top level type*/
    {
    box mybox = new box();
    mybox.length = 9;
    mybox.width = 10;
    mybox.height = 8;

    mybox.volume();
    }
}

}

这个是java的基本语法,static的用法,只能在静态类型和顶层类型中定义静态方法。
你的boxdome类是定义在main_class中的内部类型,所以不能定义static方法。
另外:java类的定义都是遵循首字母大写的约定和规范的。

普通内部类中不能定义static方法,你把boxdome内部类定义为静态内部类应该就可以了。

求体积的那个方法应该声明为static的,这样才符合Java的方法规范。希望对你有用!

这个是java的基本语法,static的用法,只能在静态类型和顶层类型中定义静态方法。
你的boxdome类是定义在main_class中的内部类型,所以不能定义static方法。