问题描述
- 为什么这个会出现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方法。
时间: 2025-01-19 20:02:16