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);
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
}
}
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/
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
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);
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.