首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否可以调用main方法,从另一个方法传递args[]?

是否可以调用main方法,从另一个方法传递args[]?
EN

Stack Overflow用户
提问于 2010-11-08 17:08:16
回答 5查看 37.6K关注 0票数 20

我尝试从另一个传递参数的方法调用类的main方法,就像从命令行运行类时一样。有没有办法做到这一点?

EN

回答 5

Stack Overflow用户

发布于 2010-11-08 17:17:08

您可以像调用任何其他(静态)方法一样调用main方法:

代码语言:javascript
复制
MyClass.main(new String[] {"arg1", "arg2", "arg3"});

示例:

代码语言:javascript
复制
class MyClass {
    public static void test() {
        MyClass.main(new String[] {"arg1", "arg2", "arg3"});
    }

    public static void main(String args[]) {
        for (String s : args)
            System.out.println(s);
    }
}
票数 22
EN

Stack Overflow用户

发布于 2010-11-08 17:11:28

是的,main方法可以像调用任何其他方法一样调用,因此如果您有一个带有main方法的类Test,则可以从任何其他类调用它,例如:

代码语言:javascript
复制
Test.main(new String[] { "a", "b" });

这样,您将传递"a“和"b”作为参数。

票数 13
EN

Stack Overflow用户

发布于 2010-11-08 17:12:07

你有没有尝试过这样的东西:

代码语言:javascript
复制
// In your method
String[] yourArgs = new String[] {"foo", "baz", "bar"};
YourClassWithMain.main(yourArgs);

但我认为这不是一个好主意,main()方法应该只包含一些调用构造函数的非常基本的代码。您不应该直接调用它,而应该创建另一个类的新实例,该实例将执行所有需要的初始化。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4122455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档