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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

写程序一直用 public static void main(String[] args){
                 }
但是一直没有深究这个main方法为什么必须被声明为pubic static
声明为public是为了这个方法可以被外部调用
static是为了将某个成员变量/方法关联到类(class)而非实例(instance)
这样解释可对?

12 个回复

倒序浏览
主函数

        public static void main(String[] args)
                主函数是一个特殊的函数,作为程序的入口,可以被jvm调用.

        public:代表着该函数访问权限是最大的.
        static:代表主函数随着类的加载就已经存在了.
        void:主函数没有具体的返回值
        main:不是关键字,但是是一个特殊的单词,可以被jvm识别
        (String[] args):函数的参数,参数类型是一个数组,该数组中的元素是字符串.字符串类型的数组.

        主函数可以重载 但重载的函数不会被jvm调用

        唯一可变的地方
                public static void main(String[] x)
                args        是由arguments简化 可以改为变量名.
       
        经验证:
        jvm在调用主函数时,传入的是new String[0];
       
        向程序中传人值:
        java MainDemo myargs
        System.out.println(args[0]);
回复 使用道具 举报
没研究过的我 理解和你差不多 坐等高人 深入浅出的讲解
回复 使用道具 举报
韩天雷 发表于 2014-7-13 17:13
主函数

        public static void main(String[] args)

给赞~~:)
回复 使用道具 举报
记住就行,何必刨根问底...最重要的就是开心嘛!
回复 使用道具 举报
这个就是为了JVM掉用main方法时不用通过该类的对象调用,而直接调用 类名.main 就可以了;
声明为static后,可以通过类名直接访问了就是
回复 使用道具 举报
咖啡苏克 发表于 2014-7-13 22:56
记住就行,何必刨根问底...最重要的就是开心嘛!

哈哈~你倒是想的开:lol
回复 使用道具 举报
2楼解释的很好嘛
回复 使用道具 举报
2楼正解。。。。
回复 使用道具 举报
main函数是程序的主函数,作为程序的入口,当类被加载时,会寻找类中是否有main函数,如果有则调用main函数,然后一步步执行main函数语句,如果没有,这个类就不可以独立运行,只能通过创建类对象方式调用,即main函数不是随着对象而存在的,而是随着类加载而存在的,所以main必须是静态的与public修饰
回复 使用道具 举报
崔MQ 中级黑马 2014-7-14 12:45:32
11#
static是属于类的,不属于某个实例的,
回复 使用道具 举报
二楼说的不错,看下毕老师的课程也就理解了
回复 使用道具 举报
是吗?有区别?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马