web-dev-qa-db-ja.com

別のクラスからクラスを呼び出す

class2からclass1を呼び出したいが、class2にはClass2.main(args);

13
Sagar

あなたが持っている疑い

クラス1

public class Class1 {
    //Your class code above
}

クラス2

public class Class2 {
}

そして、さまざまな方法でClass2を使用できます。

クラスフィールド

public class Class1{
    private Class2 class2 = new Class2();
}

メソッドフィールド

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2 class2 = new Class2();
         class2.invokeSomeMethod();
         //your actual code
    }
}

Class2の静的メソッドこれがあなたのクラス2だと想像してください。

public class Class2 {
     public static void doSomething(){
     }
}

class1からは、いつでもClass2のdoSomethingを使用できます

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2.doSomething();
         //your actual code
    }
}
17
RamonBoza

クラス2が静的メンバーを持つこのように見える場合

public class2
{
    static int var = 1;

    public static void myMethod()
    {
      // some code

    }
}

その後、次のように単純に呼び出すことができます

class2.myMethod();
class2.var = 1;

非静的メンバーにアクセスする場合は、オブジェクトをインスタンス化する必要があります。

class2 object = new class2();
object.myMethod();  // non static method
object.var = 1;     // non static variable
3
Ankit Rustagi

Class2のインスタンスを作成し、目的のメソッドを呼び出すだけです。

推奨読書: http://docs.Oracle.com/javase/tutorial/Java/javaOO/

2
Juned Ahsan
Class2 class2 = new Class2();

メインを呼び出す代わりに、必要なときに必要なときに個々のメソッドを呼び出す必要があります。

1
Nathan

最初にclass1にclass2のオブジェクトを作成し、次にそのオブジェクトを使用してclass2の関数を呼び出します。たとえば、これをclass1に記述します

class2 obj= new class2();
obj.thefunctioname(args);
1
Upendra