Comment instancier une sous-classe en Java?

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. Modérateur
    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 .. 
    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. Modérateur
        Salut

        c'est expliqué ici, brièvement

        http://www.commentcamarche.net/poo/classe instance.php3
    2. 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() ;