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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张红伟 中级黑马   /  2013-9-10 22:24  /  1600 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨增坤 于 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, 下载次数: 14)

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

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

6 个回复

倒序浏览
把arr传入到 MianTest类中的 main方法中,这虽然是两个入口,  两个类,  但是你可以先把第二个main看做是普通的方法.那样思路就清楚多了.     
不知道是对是错,只想对你有帮助.

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
虽然两个类中都有main方法
但本程序把MainDemo这个类里的main方法作为进入jvm入口
调用MainTest这个类中main方法
同时将MainDmo类里的arr字符串数组作为参数传递给MainTest类里的main方法

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
虽然两个类中都有main方法
但本程序把MainDemo这个类里的main方法作为进入jvm入口
调用MainTest这个类中main方法
同时将MainDmo类里的arr字符串数组作为参数传递给MainTest类里的main方法

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
main方法虽是程序的入口,但你完全可以把它看成是一个类中一个普通的静态方法,而这种方法是可以直接通过类名来调用的。
回复 使用道具 举报
首先你的程序中存在好多错误:1. String[] arr={'haha','hehe','xixi','hiahia'};
应该写成String[] arr={"haha","hehe","xixi","hiahia"};2.第二个类的名称应该是MainTest而不是MianTest.
至于其中的MainTest.main(arr),是因为main方法是静态的,因此类名直接可以调用。这个程序不存在两个入口的问题,因为两个主函数不在同一个类中,如果两个主函数在同一个类中,那么才会出错。被调用的类中的方法可以看成普通方法。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
其实就是一个类名。调用静态方法,主函数其实也是带参的静态函数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马