当前位置: 代码迷 >> Java相关 >> java中main函数为什么要定义为静态的static
  详细解决方案

java中main函数为什么要定义为静态的static

热度:181   发布时间:2011-11-04 13:38:51.0
java中main函数为什么要定义为静态的static
java中为什么main函数要定义为static,如果不定义为static又怎么设置其他入口?
定义为static是什么机制,是线程调度、底层封装?
说下原理。。。。。。
搜索更多相关的解决方案: java  

----------------解决方案--------------------------------------------------------
static main()是不属于任何类对象, 如果去掉STATIC定义 就必须要创建对象来调用
----------------解决方案--------------------------------------------------------
回复 2楼 lampeter123
那是自然,这只是最表面的解释,main()也是一个类的方法,我问得是为什么定义它为static后,程序就从main()开始,我声明main为static,同时又声明其他方法也为statc,,为什么从main开始,求最根本原因、原理

----------------解决方案--------------------------------------------------------
main()是C语言的主函数,程序就从这里开始, JAVA也一样吧,因为JAVA是从C语言衍生而来的
----------------解决方案--------------------------------------------------------
回复 4楼 lampeter123
main()不止是c的主函数吧,你说的好像就是3+4=7是1+1=2衍生过来的一样,我所有的编程语言都有main吧,我所求的是main是函数入口的原理
----------------解决方案--------------------------------------------------------
static方法不能调用非static方法,如果main()是非static就无法使用其他static方法; main()是程序最原始的入口;
----------------解决方案--------------------------------------------------------
main函数是所在类的一个方法,就比如一个类是A,那么该类的main其实就是A.main(String[] args),如果一个方法不是静态的,则要先实例化该类,比如要这样 A t=new A();
然后才能调用 A.main(), 而main是函数入口。。
----------------解决方案--------------------------------------------------------
static方法不能调用非static方法,把main()方法定义成静态的,就是解决既能直接调用静态方法又能间接调用非静态方法(比如:类名.非静态方法)。
----------------解决方案--------------------------------------------------------
系统寻找main开始执行
----------------解决方案--------------------------------------------------------
回复 楼主 q982004342
应该是底层规定好了程序从main开始
----------------解决方案--------------------------------------------------------
  相关解决方案