在网上看到一段没有main()方法但是照样能够运行的代码,这是为什么呢???public class Hello
{
static
{
System.out.println("Hello,World!");
System.exit(0);
}
}

解决方案 »

  1.   

    你可以再加一个main看看是static域的执行在前还是static 方法在前,就应该会清楚一点了
      

  2.   

    嗯!!!
    JVM在装载一个类的时候,最先读取是static。所以这个程序就ok了
      

  3.   

    不是以main()做入口开始执行?不死鱼的方法很好,我实验一下
      

  4.   

    public class Hello
    {
    static
    {
    System.out.println("Hello,World!-static");

    }
    public static void main()
    {
    System.out.println("Hello,World!-main");
    }
    }>javac Hello.java  //编译通过
    >java Hello  
    >Hello,World!-static
    >Exception in thread "main"java.lang.NoSuchMethodError:main  
    //这是怎么回事啊??
    //我有main()方法了啊,难道JVM只装载一个static 方法??
      

  5.   

    public static void main(String [] args)
      

  6.   

    静态初始化块,是在类加载的时候执行,public class Hello
    {
    static
    {
    System.out.println("Hello,World!-static");

    }
    public static void main(String args[])
    {
    System.out.println("Hello,World!-main");
    }
    }main加个参数
      

  7.   

    wizardblue(不死鱼)  和我回答的时间一样。毫秒级的优先,呵呵