Appeler une classe À partir d'une autre classe [fermé]


Je veux l'appeler class2 à partir de class1, mais class2 n'ont pas de main function pour désigner comme Class2.main(args);

Author: Sagar, 2013-11-06

5 answers

Suposse vous avez

Classe1

public class Class1 {
    //Your class code above
}

Class2

public class Class2 {
}

Et puis vous pouvez utiliser Class2 de différentes manières.

Champ De La Classe

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

Champ de méthode

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

Méthodes statiques de Class2 Imaginez que c'est votre class2.

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

À partir de class1, vous pouvez utiliser doSomething à partir de Class2 quand vous le souhaitez

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2.doSomething();
         //your actual code
    }
}
 15
Author: RamonBoza, 2013-11-06 10:40:13

Créez simplement une instance de Class2 et appelez la méthode souhaitée.

Lecture suggérée: http://docs.oracle.com/javase/tutorial/java/javaOO/

 2
Author: Juned Ahsan, 2013-11-06 10:36:00

Si votre class2 ressemble à ceci avec des membres statiques

public class2
{
    static int var = 1;

    public static void myMethod()
    {
      // some code

    }
}

Alors vous pouvez simplement les appeler comme

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

Si vous souhaitez accéder à des membres non statiques, vous devrez instancier un objet.

class2 object = new class2();
object.myMethod();  // non static method
object.var = 1;     // non static variable
 2
Author: Ankit Rustagi, 2013-11-06 10:39:32

Créez d'abord un objet de class2 dans class1, puis utilisez cet objet pour appeler n'importe quelle fonction de class2 exemple écrivez ceci dans class1

class2 obj= new class2();
obj.thefunctioname(args);
 1
Author: Upendra, 2013-11-06 10:46:43
Class2 class2 = new Class2();

Au lieu d'appeler le main, vous devriez peut-être appeler des méthodes individuelles où et quand vous en avez besoin.

 1
Author: Nathan, 2015-12-13 00:40:05