为什么  main(String args[]) 和   main(String []args)  这两种写法都可以通过编译?String []args 这种写法的含义是什么?感觉古怪的。

解决方案 »

  1.   

    数组 的定义
    String []args[]符号 可以放到属性名前面,也可以放到属性名后面。所以 String []args 和 String args[] 都正确
      

  2.   

    一个String数组而已,还可以这么写main(String... abc)
      

  3.   

    卧槽。。好多年没看JAVA ,竟然 忘记了有这么多写法
      

  4.   


    Sring 后跟 ... ? 这个是什么写法?
      

  5.   

    这个不行吧;main方法里面可以看做事字符数组可以接收字符串;
    把字符串当做参数来处理;可是你这样写不懂啊
      

  6.   

    行不行试试就知道了(jdk要求1.5或以上),这里有很多例子:http://www.ticmy.com/?p=50
      

  7.   

    String []args 里面包含JVM调用编译用的的命令,你打印出来看看
    public static void main(String[] args){
    System.out.println("aaa"+args);
    }
      

  8.   

    打印不了了
    Exception in thread "main" java.lang.Error: 无法解析的编译问题:
      

  9.   

    另外我想问下 为什么 main(String args[]) 方法 必须要 参数?main() 这样写不行吗? 为什么?
      

  10.   

    jvm就是去找带一个String数组为参数的方法名为main的静态方法作为入口写成其它的它当然找不到了就好比你和一个陌生人约会,说好手上拿一筒爆米花作为标记,结果你拿了一支冰淇淋,让人怎么找到你
      

  11.   

    只是一个约定而已,你自己如果实现一个JVM,可以要求不带参数
      

  12.   

    LZ你看API就明白了,在jdk 5.0之后,java支持多个参数的数组,所以
    有:main(String...args)
    还有的是,String[] args和String args[]都可以通过,都是前者更能体现出含义,