黑马程序员技术交流社区

标题: 关于main方法的详解? [打印本页]

作者: 张金    时间: 2012-9-23 14:41
标题: 关于main方法的详解?
本帖最后由 张金 于 2012-9-23 22:01 编辑

这几天,每天一敲程序,就是public static void main(String [] args)
却不知道,main方法,为什么要这么敲,哪些东西是可以省略,哪些又是可以改变的,
还有具体每个单词都有什么用处。再就是,main方法究竟是肿么在计算机中运行的,却不是很理解?
不知道,哪位大神可以用浅显的例子说明一下。
作者: 金政极    时间: 2012-9-23 15:02
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法。
这个main()方法的声明为:public static void main(String args[])。必须这么定义,这是Java的规范。
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}

HelloWorld 类中有main()方法,说明这是个java应用程序,通过JVM直接启动运行的程序。
既然是类,java允许类不加public关键字约束,当然类的定义只能限制为public或者无限制关键字(默认的)。
作者: 张忠豹    时间: 2012-9-23 15:33
package com.itheima.test;
/*
        主函数的解释:
        保证所在类的独立运行。
        是程序的入口。
        被jvm调用。
       
        public:访问权限最大。
        static:不需要对象。直接类名即可。
        void:主函数没有返回值。
        main: 主函数特定的名称。
        (String[] args):主函数的参数。是一个字符串数组类型的参数。
        args:参数名称,可以变化的
*/
class MainDemo
{

        /*
        jvm默认传递的是长度为0的字符串数组。
        我们在运行该类时,也可以指定具体的参数进行传递。
        可以在控制台,运行该类时,在后面加入参数。参数之间通过空格隔开。
        jvm会自动将这些字符串参数作为args数组中的元素,进行存储。

        */
        //jvm调用main方法时,传递的实际参数是 new String[0] 对于这一点可以通过以下两句代码来体现
        public static void main(String[] args)
        {
                System.out.println(args);//[Ljava.lang.String;@de6ced
                System.out.println(args.length);
        }
}

小弟浅显的理解,希望对楼主有帮助
作者: 赵永康    时间: 2012-9-23 15:47
楼上正解  完全正确 顶一下





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2