首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

java基础篇——老少皆知的main方法

2012-11-01 
java基础篇——众所周知的main方法public class MainMethod {public static void main(String[] args) {Syst

java基础篇——众所周知的main方法
public class MainMethod { public static void main(String[] args) { System.out.println(“This is main method”); System.out.println(“It’s public,static,and void.”); }}

???? 上面的程序只是简单地输出了两句话:

???? This is main method

???? It’s public,static,and void.

???? 作为应用程序入口的main方法,其格式定义为:public static void main(String[] args) 或者public static void main(String args[] ) ,这样定义的原因如下。

?public:main方法是在程序启动时由java虚拟机调用的,所以应声明为public。static:既然是方法,那么就应当通过指向对象的引用来访问,否则,就应该将方法声明为static。main方法这样声明是因为无需生成对象实例便可由java虚拟机直接调用。例如在本例中,我们并没有生成MainMethod累的任何实例。void:main方法在退出时,没有给出退出代码,而是在需要时使用System.exit(int status)方法返回,所以返回类型为void。String[] args:此字符串数组用来运行时接收用户输入的参数,具体长度取决于用户输入参数的个数,如果用户没有输入参数,那么args数组长度为0(并非为null)。

????? 修改main方法原型

????? 现在,我们将上例中代码的第2行修改如下(去掉public):static void main(String[] args) {

????? 编译程序,没有发现错误,但运行时,屏幕显示了如下信息:Main method not public.由此说明,mian方法必须为public,否则java虚拟机无法调用。接着修改第2行的代码(还原public,但去掉static):public void main(String[] args) {

????? 编译程序,同样没有错误,但也不能正常运行:

Exception in thread “main” java.lang.NoSuchMethodError:main

????? 因为java虚拟机要调用的是带有static的main方法,而程序中的main方法与标准的main方法不能完全吻合,即找不到需要调用的main方法,所以会给出错误信息,修改main方法的返回类型(如改为int)或是修改main方法的参数(如改为无参)也会出现与无static的main方式相同的错误。

????? main方法是应用程序的入口方法,在程序运行时由java虚拟机调用,除此之外与普通的静态方法没什么不同。main方法可以重载,被其他方法所调用,也可以由子类继承,或在子类中重新定义(隐藏父类的main方法)。从一个众所周知的main方法,可以引导出这么多细节变化来,真的是小入口有大突破,现在应该对main方法有更深入的了解了吧!有什么问题或见解,欢迎来八零客团队博客来讨论,80客团队成员随时欢迎!

????? 本文转载来自:http://www.balingke.com/archives/550.html

热点排行