我的项目中有两个包a
和b
。
a
是我在程序运行时运行的“主类”,但我需要从b
运行a
(如果这有意义的话)。
我确信它的内容与PackageB.BMain
类似,但我不确定。
编辑:
好的,所以我学到了一些新东西,开始我的主要项目是RevIRC,里面我有两个包,MainChat和RevIRC,现在当我运行程序RevIRC运行时,我需要让Mainchat运行时RevIRC正在运行。
就像我之前所说的那样,我确定它的某些内容与RevIRC.MainChat.ChatMain()
相似,但我似乎无法弄明白。
答案 0 :(得分:1)
您有两个选择:
PackageB.BMain b = new PackageB.BMain();
BMain
中的方法,如下所示:PackageB.BMain.someMethod();`请注意,您可以单独使用其中任何一种,也可以将它们混合使用,但这一切都取决于您编写BMain
课程的方式。
例如:
package PackageB
public class BMain
{
public BMain()
{ }
public void foo()
{
System.out.println("This is not a static method. It requires a new instance of BMain to be created for it to be called");
}
public static void bar()
{
System.out.println("This is a static method. It can be accessed directly without the need of creating an instance of BMain");
}
}
然后在你的主类(具有main
方法的类)中:
package PackageA
public class AMain
{
public static void main(String[] args)
{
PackageB.BMain.bar();
PackageB.BMain bInstance = new PackageB.BMain();
bInstance.foo();
}
}
答案 1 :(得分:0)
如果你有两个主要方法,它将从A或B运行.JVM将选择它看到IIRC的第一个主要方法。
拥有一个拥有main的独立类。并在那里创建你的课程。?
import a.Class1;
import b.Class2;
public class MainController
{
public static void main(String args[])
{
Class1 class1 = new Class1() ;
Class2 class2 = new Class2() ;
//Both class no start at the "same" time.
}
}
答案 2 :(得分:0)
如果我没有错,你想从A类运行B类的main方法。 你可以使用B.main(arg [])调用; 例如:
package a;
public class A
{
public static void main(String[] args)
{
System.out.println("This is main method of class A");
B.main(null);
/*pass any args if you want or simply set null arg*/
}
}
package b;
public class B
{
public static void main(String[] args)
{
System.out.println("This is main method of class B");
}
}
我希望这个简单的例子能够清除你的怀疑。
你可以参考link,其中包含适合初学者的Java教程。