public class  Test  {   static{
System.out.println("Hello World!");
 System.exit(0);
}

解决方案 »

  1.   

    嗯,少写了个“}”但是这个程序在cmd下是可以编译运行出“hello world”的,我试过了!
      

  2.   

    static{
       System.out.println("Hello World!");
       System.exit(0);
    }
    这段是静态代码块,当主动使用到Test时,会执行静态代码块的。无论这个类里有无main方法。
    楼主可以看下书中关于静态代码块的说明。
      

  3.   

    在cmd下通过javac命令编译然后java命令运行。
      

  4.   


    d:\myjava\csdn\oop>javac -d . Test.javad:\myjava\csdn\oop>java Test
    错误: 在类 Test 中找不到主方法, 请将主方法定义为:
       public static void main(String[] args)我一运行就提示上面的信息啊?
      

  5.   

    D:\>javac Test.java
    D:\>java Test
      

  6.   

    我运行的时候还是出上面的错误啊! 用jdk1.7 和1.6编译,运行都这样,奇怪!
      

  7.   

    我不知道楼主能不能看到。
    但是好多人都回答的不怎么具体。
    我来吧:
    java管理的内存划分:
    堆区:存放所有new出来的对象
        栈:存放所有调用的方法,以及方法中的局部变量,产生pop、push等,也存放对象的应用
    方法区:存放类加载器加载的类信息:包括所有的方法,常量,静态变量,静态代码块等等方法区的内容是在类加载的时候执行的,而你的静态代码块就是在类加载时候执行的,所以可以输出东西。并且我没有运行你代码。
      

  8.   

    这个问题跟类加载运行时有关。当类加载时会先执行静态语句块,所以先打印输出结果,然后你就直接exit了,这样就没有问题了
      

  9.   

    当执行的时候,首先加载时静态语句块,所以虽然没有main方法但是类加载的时候,就可以输出结果。
      

  10.   

    楼主 那个是静态块
    是在加载类的时候就加载的
    就像是 静态方法在加载类的时候加载 被称作类方法 似的
    所以这个静态块是可以在不被创建类实例的情况下加载运行的
    所以可以在此类加载时
    还没调用main方法时就可以被加载实现的