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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 施俊 中级黑马   /  2012-4-27 09:53  /  2173 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

原来JDK1.5升级了可变参数以后,连主函数都可以是用:
public static void main(String... args)
刚刚发现,那么以后只要参数传数组的是不是都能用可变参数来做?

3 个回复

正序浏览
main函数

主函数的定义:
public: 代表着该函数访问权限是最大的。
static: 代表主函数随着类的加载就已经存在了。
void: 没有具体的返回值
main: 不是关键字,但是,是一个特殊的单词,可以被虚拟机识别。
(String[] args):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
args是arguments (参数)的简称;
虚拟机在调用主函数时,传入的是new String[0]; 就是传入了一个长度为0的字符串数组。

主函数是固定格式的是被虚拟机识别。
主函数的一般格式:
        public  static  void main(String[] args){
               
         }

例子:
想知道主函数中字符串数组args里的值究竟是什么?
class TestMain{
        public  static  void main(String[] args){
                        String[] arr ={"ha","suibain","haode","wode","nide"};    //  随便给上面args 这个数组中初始化了几个值,
                                               //-目的是为了测试出args 到底是个什么东西。
                        Demo.main(arr);  //调用了下面Demo类中的main方法
                }
}


class Demo
{
         //这个方法是为了把args数组里的值遍历出来。也是用主函数个方式写的方法,但是,这个要被上面的调用。所以,还是只有一个主出口。就是上面的main。
        public  static  void main(String[] args){
                for(int x=0; x<args.length;x++)
                        System.out.println(args[x]);
        }

}
回复 使用道具 举报
是的!比如下面代码:
public class Main{

        public static void main(String[] args){
               
                for(int i = 0 ; i < args.length ; i ++){
                        System.out.println(args[i]);
                }
        }
}
运行过程中:
java Main 1 2 3 4 5
1
2
3
4
5
这就是可变参数的好处!
回复 使用道具 举报
是的,以前老版本的JDK使用数组,升级成新的JDK时基本上都换成了可变参数的形式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马