鱼C论坛

 找回密码
 立即注册
查看: 3891|回复: 5

[已解决]关于主函数定义时的问题

[复制链接]
发表于 2013-10-2 09:24:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一个问题,为什么我在定义main方法时,例如public static void mian(String args[])
如果我把static去掉,eclipse编译器并不报错,但总是在运行时找不到适用的运行方式,无法运行,static 在定义main时起到了什么作用?
最佳答案
2013-10-2 21:49:06
static是一个关键字,告诉编译器main函数是一个静态函数,也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了,如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-2 21:49:06 | 显示全部楼层    本楼为最佳答案   
static是一个关键字,告诉编译器main函数是一个静态函数,也就是说main函数中的代码是存储在静态存储区的,即当定义了类以后这段代码就已经存在了,如果main()方法没有使用static修饰符,那么编译不会出错,但是如果你试图执行该程序将会报错,提示main()方法不存在。因为包含main()的类并没有实例化(即没有这个类的对象),所以其main()方法也不会存。而使用static修饰符则表示该方法是静态的,不需要实例化即可使用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-5 19:28:15 | 显示全部楼层
学习了~:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-10-6 11:17:17 | 显示全部楼层

多谢了,顶顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-7 12:40:06 | 显示全部楼层
:dizzy:关键字你咋个能不写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-15 12:19:40 | 显示全部楼层
main函数的详解:
       
        public : 公共的。 权限是最大,在任何情况下都可以访问。
                原因: 为了保证让jvm在任何情况下都可以访问到main方法。

        static:  静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。
               
        void:  没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。
       
        main: 函数名。   注意: main并不是关键字,只不过是jvm能识别的一个特殊的函数名而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 06:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表