[Java] Recuperer un instance de classe [Résolu/Fermé]

Signaler
-
 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

1 réponse

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 509
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();
}
} 
Effectivement, je pensais pas que c'etait possible. Tu me diras, y'a pas de raison!!!
Une réponse simple et efficace, comme je les aime

Merci kilian