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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙浩 中级黑马   /  2012-9-19 14:11  /  1364 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙浩 于 2012-9-20 11:34 编辑

为什么main方法必须被声明为public static?为什么在main方法中不能

用非static成员?

1 个回复

倒序浏览
Main 定义为static的目的是为了要在不创建类实例的前提下,可直接调用Main方法。
定义为Public 是由于Main函数是程序入口点。
每一个程序执行的时候都对应一个虚拟机(你应该听说过虚拟机吧),虚拟机会首先找到类文件(class后缀,在这里就是a.class),然后虚拟机会对导入的class文件进行提取,得到其中的类型信息放入到方法区中(方法区暂时不用管,你就当成把这些信息成放到一个特定的地方),然后通过类的二进制文件找到这种main方法(就是最开始说到的那个)。

另外你说的那个其实不是static调用非static,因为在main方法中,你已经实例化了一个对象了,是通过对象调用的这个方法,而不是在static中直接调用的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马