Bonsoir,
En adaptant un exo trouve sur ce site, j'ai ecrit le code suivant:
La sortie est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 class Mammifere { static { System.out.println("Creation d'un mammifere");} public Mammifere(){ System.out.println("Je suis un mammifere"); } static { System.out.println("Creation terminee");} } public class Homme extends Mammifere { public Homme(){ System.out.println("Je suis un homme"); } public static void main(String[] args) { System.out.println("Un fils va nous etre donne"); Homme h = new Homme(); System.out.println("Un nouvel homme est ne"); } }En ne donnant pas de nom aux methodes statiques, elles sont appelees d'office, et avant le constructeur de la classe parente. Quelqu'un pourrait il m'expliquer le deroulement des appels qui finit par les invoquer ? Je m'attendais a ce que seul le constructeur du parent soit appele. Quelle est l'utilite d'avoir une methode statique comme celles ci ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 nuriel@serenity:$ javac Homme.java nuriel@serenity:$ java Homme Creation d'un mammifere Creation terminee Un fils va nous etre donne Je suis un mammifere Je suis un homme Un nouvel homme est ne
D'avance merci
Partager