黑马程序员技术交流社区

标题: 求解。。。 [打印本页]

作者: 张红伟    时间: 2013-9-10 22:24
标题: 求解。。。
本帖最后由 杨增坤 于 2013-9-11 17:04 编辑

  class MainDemo{
     Public static void main(String[] args){
      String[] arr={'haha','hehe','xixi','hiahia'};
      MainTest.main(arr);
    }
}
   class MianTest{
       Public static void main(String[] args){
         for(int x=0;x<args.length;x++)
          System.out.println(args[x]);
   }
}

有点不明白,里面那个MainTest.main(arr);怎么解释呢?

GUFF~~)M[G6{7X1UF121W.jpg (59.07 KB, 下载次数: 12)

GUFF~~)M[G6{7X1UF121W.jpg

作者: jìng╮煜    时间: 2013-9-10 22:31
把arr传入到 MianTest类中的 main方法中,这虽然是两个入口,  两个类,  但是你可以先把第二个main看做是普通的方法.那样思路就清楚多了.     
不知道是对是错,只想对你有帮助.
作者: 陶智第    时间: 2013-9-10 22:48
虽然两个类中都有main方法
但本程序把MainDemo这个类里的main方法作为进入jvm入口
调用MainTest这个类中main方法
同时将MainDmo类里的arr字符串数组作为参数传递给MainTest类里的main方法
作者: 陶智第    时间: 2013-9-10 22:48
虽然两个类中都有main方法
但本程序把MainDemo这个类里的main方法作为进入jvm入口
调用MainTest这个类中main方法
同时将MainDmo类里的arr字符串数组作为参数传递给MainTest类里的main方法
作者: ~IN_HAND~    时间: 2013-9-10 22:51
main方法虽是程序的入口,但你完全可以把它看成是一个类中一个普通的静态方法,而这种方法是可以直接通过类名来调用的。
作者: 杨伟斌    时间: 2013-9-10 22:51
首先你的程序中存在好多错误:1. String[] arr={'haha','hehe','xixi','hiahia'};
应该写成String[] arr={"haha","hehe","xixi","hiahia"};2.第二个类的名称应该是MainTest而不是MianTest.
至于其中的MainTest.main(arr),是因为main方法是静态的,因此类名直接可以调用。这个程序不存在两个入口的问题,因为两个主函数不在同一个类中,如果两个主函数在同一个类中,那么才会出错。被调用的类中的方法可以看成普通方法。
作者: 流浪的风    时间: 2013-9-10 22:57
其实就是一个类名。调用静态方法,主函数其实也是带参的静态函数。




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