日期:2014-05-20  浏览次数:20747 次

一个简单而有趣的奇葩问题
我们知道main方法是整个程序的入口,

public class Test {
  public static void main(String[] args) {
     System.out.println("HelloWorld");
  }
}

结果打印出“HelloWorld”。


下面问题来了:
如何不写main方法也可以打印出“HelloWorld” ?
javase基础

------解决方案--------------------
public class Test {
  static {
         System.out.println("HelloWorld");
   }
}

这样?
------解决方案--------------------
public class MyThread {

    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
    
   }

叫哥吧!
------解决方案--------------------
楼上的各位,被他耍了,哈哈哈,用jUnit,一切搞定!!!
------解决方案--------------------
引用:
Quote: 引用:

public class MyThread {

    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
    
   }

叫哥吧!




引用:
Quote: 引用:

Quote: 引用:

public class MyThread {

    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
    
   }

叫哥吧!



能不能解释一下,为什么这样写就可以打印出来呢?

还没走到main的地方就退出了,因此没有报错。


为什么我试了下 不行呢?


这边JDK1.6,执行没问题啊
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

public class MyThread {

    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
    
   }

叫哥吧!




引用:
Quote: 引用:

Quote: 引用:

public class MyThread {

    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
    
   }

叫哥吧!



能不能解释一下,为什么这样写就可以打印出来呢?

还没走到main的地方就退出了,因此没有报错。


为什么我试了下 不行呢?


这边JDK1.6,执行没问题啊


我是jdk1.7  难道1.7就不能这样了?
------解决方案--------------------
public class MyThread {
 
    static{
     System.out.println("HelloWorld");
     System.exit(0);
    }
     
   }

python  叫哥