class2からclass1を呼び出したいが、class2にはClass2.main(args);
あなたが持っている疑い
クラス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
}
}
クラス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
Class2
のインスタンスを作成し、目的のメソッドを呼び出すだけです。
Class2 class2 = new Class2();
メインを呼び出す代わりに、必要なときに必要なときに個々のメソッドを呼び出す必要があります。
最初にclass1にclass2のオブジェクトを作成し、次にそのオブジェクトを使用してclass2の関数を呼び出します。たとえば、これをclass1に記述します
class2 obj= new class2();
obj.thefunctioname(args);