main() 函数解析

无论你是Java菜鸟,还是牛的不行的人,总得和main() 函数打交道。

第一个问题,为什么需要这个main() 函数呢?
因为不管你写什么样的类,最终都是要被执行的,而一个类要想被Java解释器 直接装载运行,这个类中就必须包含main() 方法。
注意是 直接,一般带有main() 函数的类会被定义为整个工程的入口,很多类中没有定义这个main() 函数,是因为它不是直接运行的,而是在main() 函数中通过各种各样的方法引用进去,进而才被使用。

第二个问题,为什么main() 函数都是定义成: public static void main(String[] args)
其中,主要是函数类型的定义:
public:由于Java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public;
static:因为Java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static的;
可见,之所以main() 函数如此定义,是 和Java虚拟机的运行机制有关
此外,main() 方法接收一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数。

下面,通过具体的实例来了解如何向类中传递参数以及程序又是如何取得这些参数的。

package com.test;

public class TestMain
{
    /*
     * public:表示公共方法 
     * static:表示此方法为一静态方法,可以由类名直接调用 
     * void:表示此方法无返回值
     * main:系统定义的方法名称
     * String args[]:接收运行时参数
     */
    public static void main(String[] args)
    {
        // 取得输入参数的长度
        int argsLength = args.length;
        if (argsLength > 0)
        {
            for (int i = 0; i < argsLength; i++)
            {
                System.out.println(args[i]);
            }
        }
        else
        {
            System.out.println("输入参数个数有误!");
        }
    }
}

向java程序中传递参数可用如下的命令:
java 类名称 参数1 参数2 参数3 


运行程序:
java com.test.TestMain hello world


结果如下:
hello
world


猜你喜欢

转载自blog.csdn.net/wwwgeyang777/article/details/20390811
今日推荐