java编写的代码中没有main方法,怎么运行该程序。 例如:
publicclassHello{static{System.out.println("HelloBolink!");}}...
public class Hello{
static {
System.out.println("Hello Bolink!");
}
} 展开
static {
System.out.println("Hello Bolink!");
}
} 展开
5个回答
展开全部
你平时怎么运行程序,就怎么运行呗。
java Hello
你在运行程序时,给JVM提供的参数是类名字!即Hello!
JVM会搜索classpath找到Hello.class,然后使用类检验器来检验这个class文件,检验通过后再使用类加载器来加载Hello.class。在加载时为static属性分配内存空间,然后执行static属性的初始化。其中static块就是用来初始static属性的,所以在类被加载时就执行了。最后JVM来调用Hello的static方法:main,但它没有找到main方法,所以就抛出一个Error,程序结束!
java Hello
你在运行程序时,给JVM提供的参数是类名字!即Hello!
JVM会搜索classpath找到Hello.class,然后使用类检验器来检验这个class文件,检验通过后再使用类加载器来加载Hello.class。在加载时为static属性分配内存空间,然后执行static属性的初始化。其中static块就是用来初始static属性的,所以在类被加载时就执行了。最后JVM来调用Hello的static方法:main,但它没有找到main方法,所以就抛出一个Error,程序结束!
展开全部
这个程序可以运行,但是会有NoSuchMethodError
这是一个静态代码块,随着类的加载而加载,优先于主函数
这是一个静态代码块,随着类的加载而加载,优先于主函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样就可以运行的呀。但是要想不出错,要在System.out后面加上System.exit(0);这一句代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以运行,你这个代码是比较特殊。
如果深入说很复杂,会讲到Java的内部的内容,在加载类的开始,是先运行静态块static,然后才轮到main方法。
简单来说就是直接编译javac Hello.java运行java Hello.class。
如果深入说很复杂,会讲到Java的内部的内容,在加载类的开始,是先运行静态块static,然后才轮到main方法。
简单来说就是直接编译javac Hello.java运行java Hello.class。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没法运行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询