首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

无庸main方法打印hello word

2013-03-28 
无需main方法打印hello wordpublic class Test {static{System.out.println(hello)System.exit(0)}}本

无需main方法打印hello word
public class Test {
static{
System.out.println("hello");
System.exit(0);
}
}


本身其实是借助 JVM 在装载类定义时,就会先执行static块这个特性,来得到输出的。
但是JVM在完成类定义装载后,就会用反射来查找main函数,此时如果找不到就会报错,但此时static块已经执行完毕了。
但这个程序又利用System.exit(0);来强制结束程序,所以JVM也就不会再去查找main函数并执行了。


你要确定这个类有以下几种情况才会被jvm的ClassLoader加载:
   a、new这个类的一个实例;
   b、访问类的静态变量或者静态方法
   c、反射
   d、访问该类的子类,即创建子类对象
   e、标示该类为启动类

应该有6种的 ,好像b包含了两种 ,以上就是类的主动使用,jvm会加载类,加载类才会初始化 ,才会运行static模块

热点排行