Classe abstraite/sous classe: prb de constructeur

Résolu
Sebastien_teisseire Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 1 septembre 2005 - 1 sept. 2005 à 15:02
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 - 1 sept. 2005 à 15:26
J'ai donc la classe abstraite suivante:

public abstract class AbstractTest extends JFrame{
protected JPanel pane = new JPanel();

public AbstractTest(String nameBut){

JButton b = new JButton(nameBut);
pane.add(b);
}
}


Et ma sous classe....

public class test extends AbstractTest{

public test(String S){//err:'Constructeur implicite AbstractTest() non defini'
nimp();
}

public static void main(String[] args) {
JFrame frame = new test("boutton");//Err:'Constructeur test(String) non defini'

ExitWindow exit = new ExitWindow();

frame.pack();
frame.setVisible(true);

}

public void nimp(){

JButton c = new JButton("viens de test");
pane.add(c);
setContentPane(pane);
}
}



Question:
Ou est l'erreur?
Comment dois-je declarer le constructeur de ma sous classe sachant que le constructeur de ma super classe contient des parametres?

1 réponse

Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
1 sept. 2005 à 15:26
en fait, le probleme, c'est que quand tu cree une sous classe, le
constructeur de la sous classe fait appel par defaut au constructeur de
ta durclasse sans argument. Plus clairement, quand tu ecris ca dans ton
cas :



public test(String S){


nimp();


}



ca equivaut a ca :



public test(String S){



super(); // qui signifie new AbstractTest()

nimp();



}



or tu na pas de AbstractTest() mais un AbstractTest(String)

il faut donc que tu mette ceci et ca devrai marcher



public test(String S){

super(S);


nimp();


}
3
Rejoignez-nous