A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jackhai9 中级黑马   /  2014-8-12 11:29  /  1593 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jackhai9 于 2014-8-12 12:21 编辑

1.能从深层次讲一下为什么main方法要写在public类中吗?static又怎么理解呢?2.如果要修改程序入口,怎么告诉JVM我的入口改变了?

5 个回复

倒序浏览
首先,main方法要要被外部的虚拟机调用的,所以是public,因为main方法不需要实例化就能调用,所以是static,就该告诉虚拟机我是用哪个类启动的,相当于把类名传递给main方法然后调用。
回复 使用道具 举报
public:公共的意思。这是一个权限修饰符后。
                   而main方法被jvm调用,所有权限要足够大。
        static:静态的意思。因为jvm调用方法的时候,可以直接通过类名调用,不用创建对象。
                        HelloWorld.main(...)
        void:空返回值。因为jvm即使获取到返回值,我们也无法操作。所以,它获取返回值没有意义。所以,就没有返回值。
        main:大家都是这样做的。所以,java语言也是这样做的。
        String[] args:这是一个字符串数组,早期是用来接收键盘录入数据的。

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
楼上说得都对~
回复 使用道具 举报
简单说明。  就是main方法就是控制台编程中的主函数,它在编译之后将成为程序的唯一入口和唯一出口,所有的程序都必须含有一个且只能含有一个主函数,jvm通过提取 .class文件信息,调用main方法。static修饰的方法是类方法,类方法可以  类名.方法名  直接调用,完全不用实例化,这是减少资源消耗的必备条件。至于public,权限修饰符。当jvm在执行main方法时,方法给的访问权限应该是最大,故而用public。
回复 使用道具 举报
............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马