Comment instancier une sous-classe en Java?

Yakurena -  
 zawarudo -
Bonsoir,
Je voudrais savoir comment instancier une sous-classe en Java.
Par exemple,si on a 2 classes imbriquées l'une dans l'autre(disons A et B) :

class A
{ ..............

class B // imbriquée dans A
{ .............
}
}

Est-il possible d'instancier B en tant que composante de A? C'est-à-dire d'instancier d'abord A,puis B en tant qu'attribut de l'instance précedente? Avec une syntaxe du genre :
A a = new A();
B b = A.(new B());
(J'ai essayé avec cette syntaxe exacte,mais ça ne marche pas)

Sinon,je sais qu'on peut aussi instancier B en une instruction avec la syntaxe :
B b = (new A()).new B();
mais le problème est qu'alors,on ne récupère que l'instance de la sous-classe B et on perd celle de la classe A. Or je dois(après les instanciations),manipuler les instances des 2 classes.
Qqn pourrait-il résoudre mon problème??
Merci d'avance.

4 réponses

  1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    salut

    Je trouve cette manière de programmer un peu "exotique", mais bon ...

    il suffit de créer dans la classe A une méthode statique qui te renverra l'instance de la classe B, la méthode statique ne nécessitant pas d'instanciation de la classe qui en dispose.

    public static B getClassB(){
                   
                  B b = new B();
                   
                  return b;
    
    }
    --

    pour récupérer l'instance de la classe B, il suffit de faire appel à la méthode de A dans le code.

    B instanceB = A.getClassB();


    Chouba,
    Pochard d'assaut .. 
    3
  2. zawarudo
     
    Bonjour,
    Pour répondre à la question on peut créer un objet A avec
    A a = new A() ;
    et un objet B en utilisant l'operateur new associé à "a":
    B b = a.new B() ;
    2
  3. abd1935 Messages postés 1 Statut Membre 1
     
    bonjour,
    pourriez vous me dire comment instancier une classe en java et c'est quoi le principe et l'interet.
    merci d'avance
    1
    1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
       
      Salut

      c'est expliqué ici, brièvement

      http://www.commentcamarche.net/poo/classe instance.php3
      0
  4. alconis Messages postés 42 Statut Membre 27
     
    Un simple :

    B b = new B()

    suffira à ton bonheur.
    0