日期:2014-05-20  浏览次数:20672 次

下面程序为什么没有main方法也能运行!
Java code
public class  Test  {

   static{


System.out.println("Hello World!");
 System.exit(0);
}





------解决方案--------------------
我不知道楼主能不能看到。
但是好多人都回答的不怎么具体。
我来吧:
java管理的内存划分:
堆区:存放所有new出来的对象
栈:存放所有调用的方法,以及方法中的局部变量,产生pop、push等,也存放对象的应用
方法区:存放类加载器加载的类信息:包括所有的方法,常量,静态变量,静态代码块等等

方法区的内容是在类加载的时候执行的,而你的静态代码块就是在类加载时候执行的,所以可以输出东西。

并且我没有运行你代码。