下面程序为什么没有main方法也能运行!
Java code
public class Test {
static{
System.out.println("Hello World!");
System.exit(0);
}
------解决方案--------------------
我不知道楼主能不能看到。
但是好多人都回答的不怎么具体。
我来吧:
java管理的内存划分:
堆区:存放所有new出来的对象
栈:存放所有调用的方法,以及方法中的局部变量,产生pop、push等,也存放对象的应用
方法区:存放类加载器加载的类信息:包括所有的方法,常量,静态变量,静态代码块等等
方法区的内容是在类加载的时候执行的,而你的静态代码块就是在类加载时候执行的,所以可以输出东西。
并且我没有运行你代码。