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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 魏冬 中级黑马   /  2012-11-10 22:10  /  1587 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

main()方法为什么必须被声明为public static?

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
老毕的基视频好像提到什么时候定义静态 去看看把

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
因为main()方法是程序的执行入口,一个程序中只有一个而且是特定的,是类中的方法,也就是说这个方法就是java中特有的,不解释的!

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
首先要明白 main() 这个函数是什么用的:主程序的入口,一个程序只有一个入口.

那么就必须在程序运行前就得找到main()并进行加载.

static就是用来这个作用的.

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
因为这是程序的入口,public表示权限,在外面可以直接访问该方法。static表示该方法属于类本身。
public也表示只要该类也是public那外面任何地方都可以访问(即使不同包)。
也就是说其实我们可以在另外一个main方法里,调用另外一个类的main方法(不过没有必要)。。

联想java的类加载器和加载机制。

试想:如果程序的入口都是非static方法。那么要访问这个方法必须要建立这个类的对象。
可是类加载器加载该类的时候。。到哪去创建这个对象?  所以必须static。
回复 使用道具 举报
因为main()方法是程序的入口,所以必须要那样修饰了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马