main()函数前为什么要加上static关键字 如题,望高人指点一二,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为public类没有实例化就调用main这个方法了,所以main是类方法,得加static main函数是java程序执行的起点(入口)。JVM规定这个函数必须是public static void main(String[]). 需要理由吗? ^_^ 我只是知道String[]参数是干什么的,static就是java MyClass 的时候的入口啊,具体为什么呢?需要inside jvm了啊 main()函数代表着某一个程序开始的切入点,所以对于整个程序而言将是唯一的,static关键字的引用便是要求对于一个class,main method必须是唯一的,他不依赖于任何class object,这就很容易理解为什么在main()函数前需要加上static关键字加以修饰了。@.@||~ 假设类A包含main函数,并且没有static关键字修饰那意味着需要用A生成一个实例后才可以调用这个main而main是程序入口点,你没有进入main自然无法生成一个A实例既然没有实例,那你就永远无法调用main函数,岂不矛盾?所以main函数被设置为static,也就是说不需要类实例就可以直接被调用 楼主可以看看张孝祥的java讲座,,,对这个问题讲的非常清楚这里有下载地址:http://blog.yesky.com/Blog/ptop/archive/2005/03/27/96334.aspx java程序的入口是main()函数,这个入口点是唯一的(在一个程序中)。必须加上static关键字因为它是在任何class object实例化之前开始的,只有加了static关键字才可以。只有静态方法才能在类没有实例化之前调用。 内存有静态区和动态区,动态区内存动态加载类,大小可变,静态区程序一加载就分配,大小不变,静态内存区的属性或方法不依赖类的实例,可以随时调用,因为它们自始至终都在内存当中,main方法就是这样的方法,类实例化前就需要调用他,所以必须放在静态堆中,所以必须加上static关键字。 main函数不是因为有了类才有了这样的方法!也就是说main函数是在类之前就有的!main函数是java程序的入口! 我觉得大家都只是说这个是对定 却没有说道理由!to 楼主:在Java中你要调用一个class某一个方法时你必须 你显示列化它或者你把它申明为 静态的(static)比如classA.method();同样的你的main方法本来也只是一个普通的方法它特苏在于 它可以被JVM默认调用。这个时候你要能被JVM调用 就必须是一个静态的方法!!!明白了? 求高手 一个字母大小写转换的程序,可以便宜但是无法运行啊! graphics对象为空? 请教一个小程序 (急) 有什么方法可以不覆盖以前的资料?希望帮我改改,以提供一些code,谢谢帮忙! 请问awt和swing在制作界面方面有什么不同?急~在线等 哪里有 weblogic 6.0 的下载,要确保能用的。 如何解决类似1-0.2=0.80000001,而不是0.8 为什么10可以赋值给byte,short和int而没有编译错误! 关于爬虫模拟登陆 如何将gb2312字符串转成utf-8字符串? 从数据库中读取多记录表时的速度问题,请教
JVM规定这个函数必须是public static void main(String[]). 需要理由吗? ^_^
需要inside jvm了啊
@.@||~
那意味着需要用A生成一个实例后才可以调用这个main
而main是程序入口点,你没有进入main自然无法生成一个A实例
既然没有实例,那你就永远无法调用main函数,岂不矛盾?所以main函数被设置为static,也就是说不需要类实例就可以直接被调用
http://blog.yesky.com/Blog/ptop/archive/2005/03/27/96334.aspx
因为它是在任何class object实例化之前开始的,只有加了static关键字才可以。只有静态方法
才能在类没有实例化之前调用。
也就是说main函数是在类之前就有的!
main函数是java程序的入口!
却没有说道理由!
to 楼主:
在Java中你要调用一个class某一个方法时
你必须 你显示列化它
或者你把它申明为 静态的(static)
比如
classA.method();
同样的
你的main方法本来也只是一个普通的方法
它特苏在于 它可以被JVM默认调用。
这个时候你要能被JVM调用 就必须是一个静态的方法!!!
明白了?