运行Java应用必须通过main()方法吗?
来源:互联网 发布:如何设置淘宝分流 编辑:程序博客网 时间:2024/06/06 00:19
有哥们说,Java应用程序必须从main()方法开始运行。我说不见得,并写个例子证明了一下,呵呵。
public class HelloWorld{ static{ System.out.println("Hello World!"); System.exit(0); } }
运行结果:
呵呵,信了吧!
截止今日,我看到了下面三个博友的评论,本来不想多做解释,这里看来要澄清问题,必须说明白这个程序的原理了。
实际上人家说“Java应用程序必须从main()方法开始运行”这句话千真万确,不容置疑的。那上面的例子如何解释呢?
原因在于Java虚拟机在执行HelloWorld的时候,首先加载类,然后执行内部的静态块,执行完静态块后才去调用main方法。
可是,在静态块中,System.exit(0)已经强制性的让程序退出了,而根本就没机会调用main方法。而且,Hello World是在静态块中输出的,这就给初学者一个错觉。
多谢各位的踊跃留言!
本文出自 “熔 岩” 博客,原文网址 http://lavasoft.blog.51cto.com/62575/106321
0 0
- 运行Java应用必须通过main()方法吗?
- 运行Java应用必须通过main()方法吗?
- 运行Scala应用 Main方法
- 在android中运行java main方法
- 在android中运行java main方法
- 在android中运行java main方法
- 在android中运行java main方法
- AndroidStudio运行java的main方法
- Android运行main方法后java虚拟机停止运行
- gradle运行java main
- 黑马程序员java高新技术篇----通过反射调用main方法
- Java写了main()方法运行时在类 class 中找不到 main 方法
- 没有main 函数也可以运行java的方法
- dos下用java命令运行含包名的main方法
- 在maven中运行java main函数的方法
- java运行jar包中指定Class的main方法
- java代码没有main方法也可以运行!
- eclipse 中的Android不能直接运行java main方法
- 高通801开发笔记一 通过串口终端调试和adb调试程序的运行结果不同
- Qtcrreator 4 (Qt5.7) on rhel 7 x86_64 添加配置astyle,美化代码配置方法
- ios 图片像素点取颜色,判断颜色是否为亮色,颜色对比
- 如何在测试中保持spring容器的存在
- SQL注入--sqlmap自动化注入工具
- 运行Java应用必须通过main()方法吗?
- 打印JQuery
- ASP.Net页面生命周期
- MFC的EXE调用VBS,并获取VBS的返回值状态码
- VBS获取本地IIS中网站的信息(IP、端口、站点名称)
- linux定时任务执行
- WinServer2008下通过powershell获取IIS等角色功能列表,保存至txt
- 根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
- MFC获取字符串长度的5种方法