该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-24
每一个学习高级语言编程的人学习的第一个程序大概都是HelloWorld,其代码如下:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello,World!"); } }
但是我们能不能够不使用main方法,也打印出Hello,World!呢?答案是肯定的!请看下面一段代码:
public class HelloWorld { static { System.out.println("Hello,World!"); } }
在命令行进入存放HelloWorld.java文件的目录,然后输入 javac HelloWorld.java java HelloWorld
结果如下:
Hello,World! Exception in thread "main" java.lang.NoSuchMethodError: main
Hello,World! 打印出来了,但是系统给出了那个可恶的main没有定义的错误消息。怎么避免这条消息呢?请看 下面一段代码:
public class Hello { static { System.out.println("Hello,World!"); System.exit(0); } }
这样就OK了。
为什么没有入口方法main()也能够执行下面这句呢? System.out.println("Hello,World!"); 其实原因很简单。 因为java类静态块中的语句在java虚拟机装载类的时候就执行了,并不需要实例化对象。 为什么没有抛出错误呢? 因为在错误没来得及抛出时,程序执行了System.exit(0)退出了。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-24
为什么呢??读书不求甚解!
|
|
返回顶楼 | |
发表时间:2008-08-18
被javafound 批评啦,哈哈哈
|
|
返回顶楼 | |
发表时间:2008-09-10
javafound 写道 为什么呢??读书不求甚解!
恩,接受批评。原因已经在文章中添加了,也许并不全面,还请不吝赐教。 |
|
返回顶楼 | |
发表时间:2008-09-12
核心技术卷一里面还有个靠抛出错误来输出hello world的,我本来以为这里是讲这个的。
|
|
返回顶楼 | |
发表时间:2008-11-17
我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。
|
|
返回顶楼 | |
发表时间:2008-11-17
andylj511 写道 我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。 是不是classpath设置的问题阿 |
|
返回顶楼 | |
发表时间:2008-11-17
andylj511 写道 我最可怜了。。用了IDE在CMD下面找不到javac了。。郁闷。。 不好意思,犯糊涂了,这是path的问题。 |
|
返回顶楼 | |
发表时间:2008-11-19
是啊。。。我用了Eclipse只要装好JAVA就OK了。。谁还管PATH的环境啊
|
|
返回顶楼 | |
发表时间:2008-11-19
用IDE的话,估计就不让通过了
|
|
返回顶楼 | |