本人新手看到书上在讲static时给出了如下程序
public class Hello
{
static{
System.out.println("hello world");
}
}
没有main函数,用javac编译后再用java命令运行可以显示hello world
虽然有main is not defined 的提示但是可在println后面加System.exit(0);以避免
看了书上的解释有些不太清楚,请各位高手解释下为啥这个没有main函数仍然可以运行,而且还有显示???
详细点
public class Hello
{
static{
System.out.println("hello world");
}
}
没有main函数,用javac编译后再用java命令运行可以显示hello world
虽然有main is not defined 的提示但是可在println后面加System.exit(0);以避免
看了书上的解释有些不太清楚,请各位高手解释下为啥这个没有main函数仍然可以运行,而且还有显示???
详细点
故这里没main函数也可以输出 hello world
Class clz = Class.forName(clzName);
Method m = clz.getMethod("main", new Class[]{new String[0].getClass()});
m.invoke(null, new Object[]{args});这样在第一行的时候,是成功通过并加载了static代码段。报main is not defined 只是第二个语句的错误。