使用main方法从另一个类调用一个类

时间:2014-07-16 00:00:34

标签: java

在Java中,我们可以从另一个类调用main()方法吗?例如,ClassA意味着在命令行上运行,因为它定义了一个main(String [] args)方法。

我想在ClassB中调用这个ClassA。我是否初始化类的新对象,如

ClassA newobject = new ClassA()

或者有没有办法在ClassB中传递ClassA的命令行选项。

感谢

2 个答案:

答案 0 :(得分:3)

A.main(...string args here);

这就是它的全部内容,因为它只是一个简单的静态void方法。公平的警告,它将在同一个进程中运行,并可能与调用者一样。如果您正在寻找的是将它作为一个真实的,诚实的,善良的不同程序运行,那么您需要使用Java Process API来实际生成一个合适的新JVM。对于很多小型程序来说,你可能会侥幸逃脱:

Runnable r = new Runnable() {
    public void run() {
        A.main(argsArray);
    }
};

Thread t = new Thread(r);
t.start();

答案 1 :(得分:1)

简单地初始化类不会调用其main()方法。你必须明确地称它。你有实例化,

ClassA newobject = new ClassA();

只会调用ClassA的构造函数,就是这样!

默认情况下将调用的唯一main()方法是您在命令行中传递的任何类,即java ClassB

就调用ClassA的main()方法而言,您可以通过以下方式执行此操作:

ClassA.main();

这是因为main()方法属于该类,因为它是static。总而言之,这是不好的做法,不建议。