1735485012 发表于 2013-10-2 09:24:19

关于主函数定义时的问题

有一个问题,为什么我在定义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修饰符则表示该方法是静态的,不需要实例化即可使用。

tsembrace 发表于 2013-10-5 19:28:15

学习了~:handshake

1735485012 发表于 2013-10-6 11:17:17

回忆あ殇痛 发表于 2013-10-2 21:49 static/image/common/back.gif
static是一个关键字,告诉编译器main函数是一个静态函数,也就是说main函数中的代码是存储在静态存储区的, ...

多谢了,顶顶

ylfeiu 发表于 2013-10-7 12:40:06

:dizzy:关键字你咋个能不写

shishunfu 发表于 2017-4-15 12:19:40

main函数的详解:
       
        public : 公共的。 权限是最大,在任何情况下都可以访问。
                原因: 为了保证让jvm在任何情况下都可以访问到main方法。

        static:静态。静态可以让jvm调用main函数的时候更加的方便。不需要通过对象调用。
               
        void:没有返回值。 因为返回的数据是 给 jvm,而jvm使用这个数据是没有意义的。所以就不要了。
       
        main: 函数名。   注意: main并不是关键字,只不过是jvm能识别的一个特殊的函数名而已。
页: [1]
查看完整版本: 关于主函数定义时的问题