0

プロジェクト内に2つのパッケージがaありbます。

aプログラムの実行時に実行される私の「メインクラス」ですが、b実行する必要がありますa(それが理にかなっている場合)。

私はそれが線に沿った何かであると確信していますがPackageB.BMain、私にはわかりません。

編集:

さて、私はいくつかの新しいことを学びました。メインプロジェクトを開始するにはRevIRCです。その中には、MainChatとRevIRCの2つのパッケージがあります。プログラムを実行すると、RevIRCが実行され、RevIRCが実行されたときにMainchatを実行する必要があります。 。

私が前に言ったように、私はそれが線に沿った何かであると確信していますがRevIRC.MainChat.ChatMain()、私はそれを理解することができないようです。

4

3 に答える 3

1

2つのオプションがあります:

  • 次のように、AからBの新しいインスタンスを作成します。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();
    }
}
于 2012-10-22T08:56:13.700 に答える
0

2つのメインメソッドがある場合は、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.
  }
}
于 2012-10-22T09:01:34.043 に答える
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");
}
}

この簡単な例で疑問が解消されることを願っています。

初心者向けのJavaチュートリアルを含むリンクを参照できます。

于 2012-10-22T09:01:56.230 に答える