傻问题:main前为什么一定要加static 记得以前看过这个问题,好像是因为static函数可以在不建立任何对象的情形下被调用,非static函数只能由对象调用,而main()函数在执行时是没有对象产生的,所以一定要是static的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 static表示只生成一个main()函数的副本,试想程序运行的入口能创建任意个的话,到底从哪个进入,又以怎样的顺序执行呢?至于编译能通过是因为syntax上并没有问题,而且你也没有写另一个main()。 一个类必须要有main()方法才能被JAVA解释器直接装载运行,JAVA虚拟机在执行main()方法时候不必创建对象,所以该方法必须是static的。 很簡單: main方法並不對任何的對象施加操作,實際上,儅程序開始執行的時候,還不存在任何的對象,靜態的main方法被執行,並構造程序所需要的對象; 其實這裡的靜態和其他的靜態方法和靜態變量的概念是一樣的,可以舉一反三的 明白了static,也就明白了这个问题。 static函数不需要实例化类就可以调用,而且main函数是入口点,这时还没有类的实例,所以要声明为static才能够运行。 main方法是一个java程序运行时的入口,执行java程序时java虚拟机首先寻找main方法然后执行main中的代码,由于此时没有任何对象实例生成,所以main必须是静态方法 static,静态。所谓静态就是不需要实例化的,不需要连接对象的方法和变量。有一点类同于C语言里面的static。要是main也要实例化的话,那谁又来实例化main呢?因为main是程序的入口啊! 去掉了static的main()就变成了包含它的那个类的一个方法,编译肯定能过,但是程序就没有入口了。JVM中定义的main()原型必须有static void,必须有String[]。 很简单.static函数不需要实例化类就可以调用,而且main函数是入口点,这时还没有类的实例,所以要声明为static才能够运行 编译器从main入口,当然要static了,要不他怎么识别啊 意思就是象上边说的,程序运行时最初是要先找到那些static的方法或变量,你可以在这些static方法中来实例化你的类,如果说你的main函数不加static的话程序就无从下手了。^_^ 求救setFocusable(true);这句话无效 程序有点问题,求助! 如何把别人选项卡中的东西弄到自己的选项框卡中 Exception in thread "main" java.lang.NoClassDefFoundError,很困惑! 有关用java写发邮件的问题 Bag类是那个包中的,怎么JDK1.4 ,JDK1.5中都没有呢,谁能告诉我. 谁有<java$XML>中文版的电子书! 有什么办法可以让applet存取远程用户机器上的文件 关于网管(SNMP)的问题。 请问jbuilder5哪里可以下栽正式版本? 如何判断一个字符是否为中文 剛學java,求助
至于编译能通过是因为syntax上并没有问题,而且你也没有写另一个main()。
main方法並不對任何的對象施加操作,實際上,儅程序開始執行的時候,還不存在任何的對象,靜態的main方法被執行,並構造程序所需要的對象;
其實這裡的靜態和其他的靜態方法和靜態變量的概念是一樣的,可以舉一反三的
然后执行main中的代码,由于此时没有任何对象实例生成,所以main必须是静态方法
static函数不需要实例化类就可以调用,而且main函数是入口点,这时还没有类的实例,所以要声明为static才能够运行
^_^