日期:2014-05-20  浏览次数:20543 次

JAVA main()函数问题
为什么JAVA的main()函数一定要声明为static,按照JAVA的规定static成员函数只能访问static成员,这样一来JAVA不就是只能执行static成员吗?求解。
JAVA main()函数

------解决方案--------------------
静态函数不需要实例化,要从面向对象的角度理解。
------解决方案--------------------
java的main()函数申明成static是因为这样就可以直接执行main()函数,而不需要实例化一个没有意义的对象。
在main()函数中,你不但可以执行本类的static函数,还可以声明对象,执行其他工作,如下所示:

public class Test {
public void printTest() {
System.out.println("Test");
}

public static void print() {
System.out.println("OK!");
}

public static void main(String[] args) {
print();//直接执行static函数
Test t = new Test();
t.printTest();//像这样执行其他操作
}
}

------解决方案--------------------
static方法的一个重要用法就是在不创建任何对象的前提下就可以调用它,这一点对main()方法很重要,这个方法是运行一个应用的入口点。

这是《java编程思想》里面的一段话。。。
------解决方案--------------------
同意上面各位的看法。当运行某个类的时候,会去找static main函数,此时还没有对象,必须得有个开头不是吗?否则,哪来的对象呢。
------解决方案--------------------
对于main函数所在的类,里面的静态函数可以直接执行;而对于类里定义的非静态方法,需要先new 一个类的对象,通过对象去调用非静态方法。