有哥们说,Java应用程序必须从main()方法开始运行。我说不见得,并写个例子证明了一下,呵呵。
public class HelloWorld{ 
  static{ 
    System.out.println("Hello World!"); 
    System.exit(0); 
  } 
}
运行结果:
呵呵,信了吧!
2009-11-16----------------------------------------
截止今日,我看到了下面三个博友的评论,本来不想多做解释,这里看来要澄清问题,必须说明白这个程序的原理了。
实际上人家说“Java应用程序必须从main()方法开始运行”这句话千真万确,不容置疑的。那上面的例子如何解释呢?
原因在于Java虚拟机在执行HelloWorld的时候,首先加载类,然后执行内部的静态块,执行完静态块后才去调用main方法。
可是,在静态块中,System.exit(0)已经强制性的让程序退出了,而根本就没机会调用main方法。而且,Hello World是在静态块中输出的,这就给初学者一个错觉。
多谢各位的踊跃留言!
本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/106321,如需转载请自行联系原作者

运行Java应用必须通过main()方法吗?相关推荐

  1. java in thread main_linux运行java项目中的main方法,报错:Exception in thread main jav

    在windows环境运行正常的java netty项目部署到linux中调用main方法报错,修改过springmvc版本和jdk版本都没用,总是报 java.lang.ExceptionInInit ...

  2. Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包

    文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程. Java程序中 ...

  3. java main 参数传递参数_Java千问:Java语言如何给main方法传递参数?

    大家都知道,Java语言运行程序的入口方法叫做main,这个方法有一个参数,这就表示说,我们要运行主方法,就必须给main方法传递一个参数.但是,大家似乎对这个参数向来都是视而不见,从来都没给主方法传 ...

  4. 浏览器运行java的方法_通过浏览器运行java程序的两种方法

    方法一:Applet技术 现在有一个application,要把它转换成Applet. 首先,用eclipse打开这个项目. 然后找到要改的java类,让这个类继承Applet类或者JApplet类. ...

  5. 在java中必须要有main吗_在一个Java应用程序中main方法必须被说明为_____。

    应用程下列哪些是社区工作的社会功能( ) 比例调节是有差调节,序中PD调节是无差调节. 当广义过程控制通道时间常数较大或容量滞后较大,必须被说应引入微分环节调节. PID 调节器变为纯比例作用,应用程 ...

  6. 批处理文件 执行java_利用批处理文件运行java程序

    当我们要运行java程序时,可以写一个批处理文件(.bat),以便双击即可运行java程序! 在次测试过程中需要注意的几个问题: 1.当需要java程序需要引进第三方包时,需要在设置classpath ...

  7. 使用Maven运行Java main的方法(转)

    使用Maven运行Java Main的方法(既Java Application项目),可以有如下方式解决: 1.将Maven项目导入到eclipse中,然后直接项目右键[Run As]->[Ja ...

  8. Java不用main方法运行_如何在不定义main方法的情况下运行Java程序?

    我正在查看一些Java源代码,并注意到main方法没有定义. Java如何编译源代码而不知道从哪里开始? main方法仅在Java虚拟机执行代码时使用.没有main方法就无法执行代码,但仍然可以编译代 ...

  9. Android Studio运行Java main()方法

    目录 前言 第一步 第二步 第三步 最后一步 前言 在Android Studio开发工具上进行编程,有时候需要练习一些算法,就得反复运行模拟器,进行debug调试或打日志查看数据信息.其实,选择走类 ...

最新文章

  1. 【转载】Real6410 Linux 常见问题总结(截至2010/07/26)
  2. iOS指示器之UIProgressView和UIPageControl
  3. redis中的quicklist
  4. IDEA设置方法自动显示参数提示
  5. discuz数据库相关表
  6. Atitit.ati orm的设计and架构总结 适用于java c# php版
  7. pythonwindows文件_python查询windows文件
  8. OutputDebugString输出调试信息
  9. CodeForces - 946C String Transformation
  10. get buffer from CMSampleBufferRef
  11. 金士顿u盘写保护修复教程
  12. 网站被黑跳转到其他网站的解决办法
  13. SPSS如何计算方差膨胀因子
  14. 如何把txt文本转换成epub文件
  15. Camunda/Flowable/Activiti技术发展史/盘古BPM框架对比最新版
  16. 仿高德地图首页效果,简单代码实现
  17. 小红书3大新功能上线,提升笔记转化率和品牌投放效果
  18. 【最小费用最大流】知识点讲解
  19. Uber 和 Lyft 在德克斯萨大获全胜
  20. 第一章 系统体系结构

热门文章

  1. Linux ubuntu 切换阿里更新源
  2. 趋势发布SecureCloud云安全技术架构
  3. php中三元运算符用法
  4. Redis集群案例与场景分析
  5. Matlab 图像预处理
  6. java对世界各个时区(TimeZone)的通用转换处理方法
  7. spring.net 对象创建 几种情况
  8. php网站用框架与不用的区别,做前端网页是不是必须要用网页框架
  9. anddroid bitmap如何由rgb8888转为rgb565_最美的期待—孕期很美好,妊娠纹让人烦恼,爱美的孕妈妈们如何是好?...
  10. JavaScript权威指南笔记 - 1