[Java] Recuperer un instance de classe
Résolu
bibijosh
-
bibijosh -
bibijosh -
Bonjour,
Je voudrais savoir s'il est possible en java de récupérer une instance d'une classe à partir d'une autre classe plutot que d'en créer une nouvelle.
Voici mon code simplifié:
public class Alpha{
public arrayList ayl1;
public arrayList ayl2;
public void instanciation(){
// code d'instanciation des 2 arrayList
Beta b = new Beta();
}
public int modif(){
// code de modif des arrayList
return unInt;
}
}
public class Beta{
public void modifArray(){
Alpha a = new Alpha();
int i = a.modif();
}
}
Alpha instancie donc 2 arrayList puis appelle Beta. Ensuite de Beta, je veut appeler la methode a.modif pour modifier les arraylist instancies plus tot. Or "Alpha a = new Alpha();" crée une nouvelle instance de Alpha.
Comment faire donc pour récupérer l'ancienne instance d'Alpha.
Je suis ouverte a toute autre solution, sachant que les arrayLists et la methode modif vont être utilises dans de nombreuses classes, je ne peux donc pas fusionner les 2 classes.
Merci
Je voudrais savoir s'il est possible en java de récupérer une instance d'une classe à partir d'une autre classe plutot que d'en créer une nouvelle.
Voici mon code simplifié:
public class Alpha{
public arrayList ayl1;
public arrayList ayl2;
public void instanciation(){
// code d'instanciation des 2 arrayList
Beta b = new Beta();
}
public int modif(){
// code de modif des arrayList
return unInt;
}
}
public class Beta{
public void modifArray(){
Alpha a = new Alpha();
int i = a.modif();
}
}
Alpha instancie donc 2 arrayList puis appelle Beta. Ensuite de Beta, je veut appeler la methode a.modif pour modifier les arraylist instancies plus tot. Or "Alpha a = new Alpha();" crée une nouvelle instance de Alpha.
Comment faire donc pour récupérer l'ancienne instance d'Alpha.
Je suis ouverte a toute autre solution, sachant que les arrayLists et la methode modif vont être utilises dans de nombreuses classes, je ne peux donc pas fusionner les 2 classes.
Merci
Configuration: Windows XP Firefox 2.0.0.14
1 réponse
-
Salut,
Alpha pourrait être un attribut passé en paramètre du constructeur de Beta:public class Alpha{ public arrayList ayl1; public arrayList ayl2; public void instanciation(){ // code d'instanciation des 2 arrayList Beta b = new Beta(this); } public int modif(){ // code de modif des arrayList return unInt; } } public class Beta{ Alpha a; public Beta(Alpha a) { this.a=a; } public void modifArray(){ int i = a.modif(); } }