Comment instancier une sous-classe en Java?
Yakurena
-
zawarudo -
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.
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
-
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 .. -
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() ; -
bonjour,
pourriez vous me dire comment instancier une classe en java et c'est quoi le principe et l'interet.
merci d'avance -